質問させてください。
次のようなテキストがあった場合に、例えば3行目(1 0 0)だけを読み取りprintfしたいと考えています。
1 0 1
1 1 1
1 0 0
0 1 1
・・・
テキストの読み込み方法として、while(fscanf(fp,%d %d %d",&a,&b,&c)!=EOF)
のような方法しか知らないのですが、これだと特定の行だけを指定できずに、全行が出力されてしまいます。
特定の行だけを出力する方法はありますか?
よろしくお願いします。
特定行のテキストデータの読み込み
Re:特定行のテキストデータの読み込み
こんな感じ?
#include <stdio.h> #define STRING_LENGTH_MAX 4096 #define SHOW_LINE 1 int main(void) { int cnt = 0; char str[STRING_LENGTH_MAX] = {'\0', }; FILE* fp; if ((fp = fopen("test.txt", "r")) == NULL) { return -1; } for (; cnt < SHOW_LINE && fgets(str, STRING_LENGTH_MAX, fp) != NULL; ++cnt); if (cnt == SHOW_LINE) { printf("%s", str); } fclose(fp); return 0; }