※ ChatGPTを利用し、要約された質問です(原文:一度に2個づつのデータを取得するには?)
一度に2個づつのデータを取得するには?
このQ&Aのポイント
WIN98 VC++6.0 MFC 環境で、ファイルから1行ずつ文字データを読み込み、ウィンドウに表示する方法について教えてください。
現在、ファイルから1行ずつ文字データを読み出し、生成したウィンドウに表示しています。しかし、表示するデータを文字だけではなく、位置データと文字データが交互に繰り返される形式にしたいと考えています。その際に、2行ずつデータを読み出すたびに新しいウィンドウを作成する方法はありますか?
ファイルから2行ずつデータを読み取り、位置データと文字データを交互に表示するために、効率的な方法を教えてください。
お願いします。環境 WIN98 VC++6.0 MFC にて
今、下記のようにファイルから文字データを1行づつ読出して、ウィンドウを生成し読み出した文字を表示しています。
今度はデータを表示文字だけではなく、
1行目:ウィンドウ位置データ(とりあえず左上のみ)、
2行目:表示文字データ
・
・
というように、位置データと文字データの繰り返しのデータにしました。
そこで2行づつ読み出すたびに、ウィンドウを1個作成するようにしたいのですが、スマートな方法はないでしょうか?
if((fin=fopen("d:\\qqq.txt","r"))==NULL){
AfxMessageBox("読み込みファイルオープン出来ません");
return;
}
while((fgets(buf,256,fin))!=NULL)
{
n=strlen(buf);
buf[n-1]='\0';
pWnd = new CMyWnd(this);
pWnd->m_moji=buf;
m_pAryDlg.Add ( pWnd );
m_pAryDlg2.Add ( &buf );
}
お礼
回答ありがとう御座います。こんなの聞くのもなんだなと思いつつも聞いてしまいました。 >深く考えないで、 フラグを立てるとか、奇数回は飛ばすとか深く考えすぎでした。 if((fin=fopen("d:\\qqq.txt","r"))==NULL){ 初めてこのコードを見たときは、if文のなかに式やら何やらが入っていて、非常に取っ付きにくかったのですが、今は慣れてしまって逆に2行続けて読むなんて思いつきませんでした。 勿論解決です。 #昨日も夜遅くまでご苦労さまです。