テキストファイルから行を印刷しようとしていて、次の行に移動して印刷する行がなくなるまで印刷します。これは私が今までに持っているものですが、プログラムを初めて実行するときにのみ機能します。行にテキストファイルを印刷しようとしています
void ReadFile(FILE *a)
{
char line[23];
while(fgets(line, 22, a) != NULL)
{
printf("%s", line);
}
}
テキストファイルから行を印刷しようとしていて、次の行に移動して印刷する行がなくなるまで印刷します。これは私が今までに持っているものですが、プログラムを初めて実行するときにのみ機能します。行にテキストファイルを印刷しようとしています
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
}
}
あなたはファイルを作成していないので、関数のすべての反復は最後のfgets
が残っているところから始まります(あなたの場合はEOF)。
ストリームを正しく閉じていますか? - > fclose(fp); – SanBen
R34lthing、はいこの関数が呼び出されたメインループの最後にファイルを閉じています – CRS