我有一个包含以下三行的文本文件:
12 5 6
4 2
7 9
我可以使用fscanf
函数读取前3个值并将它们存储在3个变量中。但我无法阅读其余的内容。
我尝试使用fseek
函数,但它仅适用于二进制文件。
请帮我将所有值存储在整数变量中。
答案 0 :(得分:43)
使用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);
}
答案 1 :(得分:8)
这个怎么样?
fscanf(file,"%d %d %d %d %d %d %d",&line1_1,&line1_2, &line1_3, &line2_1, &line2_2, &line3_1, &line3_2);
在这种情况下,fscanf
中的空格会匹配任何空格的多次出现,直到找到下一个标记。