1
我试图从文本文件中打印一行,然后转到下一行并打印,直到没有更多的行可以打印。这是我到目前为止,但它只在我第一次运行该程序。试图在c中打印一行文本文件
void ReadFile(FILE *a)
{
char line[23];
while(fgets(line, 22, a) != NULL)
{
printf("%s", line);
}
}
我试图从文本文件中打印一行,然后转到下一行并打印,直到没有更多的行可以打印。这是我到目前为止,但它只在我第一次运行该程序。试图在c中打印一行文本文件
void ReadFile(FILE *a)
{
char line[23];
while(fgets(line, 22, a) != NULL)
{
printf("%s", line);
}
}
,如果你想这个多次与同FILE
对象做你需要将文件指针重新回到起点:
void ReadFile(FILE *a)
{
char line[23];
rewind(a);
while(fgets(line, 22, a) != NULL)
{
printf("%s\n", line); // Added new line
}
}
你不是rewind(a)
这个文件,所以函数的每一次迭代都从最后一个fgets
离开它的地方开始(在你的情况下是EOF)。
你是否正确关闭了流? - > fclose(fp); – SanBen 2012-04-19 12:19:22
R34lthing,是的,我正在关闭该文件在主循环结束时调用此函数 – CRS 2012-04-19 13:01:55