次の3行を含むテキストファイルがあります。
12 5 6
4 2
7 9
fscanf
関数を使用して、最初の3つの値を読み取り、3つの変数に格納できます。しかし、私は残りを読むことができません。 fseek
関数を使用してみましたが、バイナリファイルでのみ機能します。
すべての値を整数変数に保存してください。
fscanf
を使用した簡単なソリューション:
void read_ints (const char* file_name)
{
FILE* file = fopen (file_name, "r");
int i = 0;
fscanf (file, "%d", &i);
while (!feof (file))
{
printf ("%d ", i);
fscanf (file, "%d", &i);
}
fclose (file);
}
これはどう?
fscanf(file,"%d %d %d %d %d %d %d",&line1_1,&line1_2, &line1_3, &line2_1, &line2_2, &line3_1, &line3_2);
この場合、fscanf
内のスペースは、次のトークンが見つかるまで、空白の複数の出現に一致します。