街中で見かけて「グッときた人」の思い出

ファイルからテキストデータを読み込むときにCStdioFileクラスのReadStringを使って一行ずつ読み込んでいますが、指定した行だけを読み込めるようにしたいのですがどうしたらいいでしょうか?

A 回答 (2件)

char buf1[256];


char buf2[10][256];
int k[10];

k[10] には、読み出す番号を入れておく
1の結果は buf1 に入れる。
2の部分は 行番号を if 文で調べて
 k[10] の中入っている番号なら
buf2 に入れてためる。
buf2 をどれだけ使ったかは別のカウンターをつけて管理する。

こんなところいかがでしょうか?

 他には、
ファイルを開いて
1文字ずつチェックしながら
ばっふぁにためる
CRLF の部分が来たら
行が変わったと思う
行数をチェックしてから
また、バッファの先頭から文字をためてゆく
必要な行については
別のバッファに移して下さい。
    • good
    • 0

CStdioFileクラスから派生させて新しいクラス(仮にMyStdioFileクラス)を作ります。


MyStdioFileクラスにMyStdioFile::ReadMultiString()メソッドを実装しましょう。

MyStdioFile::ReadMultiString中でCStdioFile::ReadStringを指定回数呼び出せば事足りると思います。

質問の意図を取り違えている可能性が否めないので自信なし。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!