我正在尝试从格式如下的文本文件中读取一系列整数:
int1
int2
int3
int4
int99
即。每个整数前面都有相同的字符串,在这种情况下为'int'。
我尝试了以下代码,但是该程序仅打印第一个整数,然后结束。
FILE *fp = fopen("data.txt", "r");
int num;
while (fscanf(fp, "int%d", &num) == 1)
printf("%d\n", num);
fclose(fp);
答案 0 :(得分:0)
这是因为您没有使用换行符,并且在输入流中将其遗漏了。
只需如下更改您的fscanf
。
fscanf(fp, "int%d\n", &num) == 1
^^-->read new line
答案 1 :(得分:0)
在%d之后添加一个空格即可。
(fscanf(fp1,"int%d ", &num)==1)