いつもお世話になっております。なおと申します。
現在以下の環境でプログラムを組んでいます。
----------------------------------
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のフォントサイズを記載したいので、行単位で、数値を読み取りたい
のですが、どのようにするのでしょうか?
ご教示宜しくお願いいたします。
何行目を読み取る、ではなく、何行目までは読み捨てる、という考え方をすればよいで
す。
PARTさん ご回答ありがとうございます。
>何行目を読み取る、ではなく、何行目までは読み捨てる、という考え方をすればよいで
>す。
これは2行目を読み取りたい場合は、一回目の改行コードが来た場合それまでの文字を捨て、
次の改行が来た場合はその文字を変数に保存したままLOGFONTに渡せばいいという事ですか?
引き続きご教示宜しくお願いいたします。
すみません。RAPTさんなのにPARTさんと記述してしまいました。
まことに申し訳ありません。
ReadStringの使用方法について、熟読されましたか?
それが把握出来れば、RAPTさんの回答が頷けるかと思いますが。。
。さん アドバイスありがとうございます。
ReadStringについて熟読してみます。ありがとうございました。