完成计数行C后,fscanf()不会读取数据

时间:2017-05-16 04:21:06

标签: c

首先感谢Stack Overflow,我的C代码在使用fscanf()读取文件时遇到了问题。

FILE *edit = fopen("test.txt", "r");

int id_temp;
fscanf(edit, "%d", &id_temp);
printf("%d\n", id_temp);
fclose(edit);
system("pause");

我可以通过这种方式阅读它,但是当我添加计数行时,

FILE *edit = fopen("test.txt", "w");
char ch;
int count = 0;

do
{
    ch = fgetc(edit);
    if (ch == '\n') count++;
} while (ch != EOF);

printf("Total number of lines %d\n", count);

int id_temp = 0;
fscanf(edit, "%d", &id_temp);
printf("%d\n", id_temp);
fclose(edit);
system("pause");

id_temp将打印0而不是从文件本身读取数字。在第一个场景中,它打印出2(正确)。

感谢您的时间,任何想法的人?

0 个答案:

没有答案