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