各行のファイルからint
個別に読み取り、「\ n」を見つけたときにループを終了しようとしていましたが、行の問題は、各行の最後に最初にスペース文字があり、次に改行文字だったので、scanf()
and を使用しfgetc
てループを終了できませんでした。ファイル内の自分の位置を保持して 2 つを実行すると考えたfgetc
ので、スペースに遭遇した後、最後の行を保持してループを終了する新しい行に遭遇した場合、それ以外の場合は前の位置に戻って読み続けます。私の問題は、どういうわけか無限ループを作成し、それを修正する方法がわからないことです。誰か助けてくれませんか?
do
{
fscanf(fp, "%d", &temp);
a = fgetc(fp);
curPos = ftell(fp);
if (a == '\n') break;
a = fgetc(fp);
fseek(fp, curPos, SEEK_SET);
} while(a != '\n');
ファイル形式:
0 1 2'SPACE''NL'
4 20 555'SPACE''NL'
etc