MFC ファイル操作について

[戻る]
なお 2007/07/13(金) 12:22:58
 いつもお世話になっております。なおと申します。
現在以下の環境でプログラムを組んでいます。

----------------------------------
WinXP sp2 VC++2005 SDI MFC

----------------------------------

現在困っていることはファイルを読み込んだときに、ファイルの○行目を読み込む
とかピンポイントで指定できないのでしょうか?

現在複数Viewと搭載しているプログラムを記載しているので、それぞれのViewに対して、
フォントサイズ(LOGFONT構造体使用)を変更したいのですが、

--ファイル中身--

一行目   View1
二行目   10
三行目   View2
四行目   20
五行目   View3
六行目   30

とファイルに記載してView1のOnCreate関数が呼ばれた時にファイルの2行目の10
というフォントサイズ10を変数にいれてLOGFONT構造体に与えたいです。
現在は1行目は読めるソースは記載出来てるのですが、複数Viewでフォントのサイズを
変えたいので、行数指定でファイルを読みたいのですが、どのような方法で記載するの
でしょうか?

現在のソース(View1のOnCreate内)

LOGFONT        lf;
CStdioFile     file;
CString        filepath;
CString        str;
int            newstr;

filepath = _T("ファイルのパス");

---ファイルパス内の記述---

10
20
--------------------------
file.Open(filepath,CFile::modeRead);
file.ReadString(str); ///strには10が入っています。
file.Close();

memset(&lf,0,sizeof(lf));

newstr = atoi(str);

lf.lfHeigth = newstr; 

これで一応フォントサイズが10のフォントになるのですが、
例えばView2に対してはフォント20にしたい場合、ファイルパス内のファイルの
2行目だけを読みたいのです。
違うファイルを用意して、1行目を読めば出来るのですが、同一ファイルの中に
すべてのViewのフォントサイズを記載したいので、行単位で、数値を読み取りたい
のですが、どのようにするのでしょうか?

ご教示宜しくお願いいたします。

RAPT 2007/07/13(金) 13:01:15
何行目を読み取る、ではなく、何行目までは読み捨てる、という考え方をすればよいで
す。

なお 2007/07/13(金) 13:21:27
PARTさん ご回答ありがとうございます。

>何行目を読み取る、ではなく、何行目までは読み捨てる、という考え方をすればよいで
>す。

これは2行目を読み取りたい場合は、一回目の改行コードが来た場合それまでの文字を捨て、
次の改行が来た場合はその文字を変数に保存したままLOGFONTに渡せばいいという事ですか?

引き続きご教示宜しくお願いいたします。

なお 2007/07/13(金) 13:23:18
すみません。RAPTさんなのにPARTさんと記述してしまいました。

まことに申し訳ありません。

2007/07/15(日) 11:56:34
ReadStringの使用方法について、熟読されましたか?
それが把握出来れば、RAPTさんの回答が頷けるかと思いますが。。

なお 2007/07/16(月) 21:05:01
 。さん アドバイスありがとうございます。

ReadStringについて熟読してみます。ありがとうございました。

古いスレッドには追加発言できません。