0

各行のファイルから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
4

0 に答える 0