1

アプリケーションではなく手動でファイルにデータを書きました。

私のコードは char ごとにデータを読み取り、それらを異なる配列に格納していますが、条件 EOF を挿入するとプログラムが動かなくなります。

調査の結果、私のファイルには EOF の前に 3 ~ 4\n文字あることがわかりました。私はそれらを挿入していません。それらが私のファイルにある理由がわかりません。

4

2 に答える 2

1

それらの厄介な余分な文字を削除したいですか? まず、ファイルの最後にあるそれらの数を確認します。

od -c <filename> | tail

次に、気に入らない文字をいくらでも削除します。3 の場合:

truncate -s -3 <filename>

しかし、全体として、私だったら、入力ファイル形式の仕様に従って本当に無効でない限り、望ましくない改行文字を破棄するようにプログラムを変更します。

于 2011-04-03T14:02:32.630 に答える
1
  1. どのテキスト エディタでも、ファイルの末尾に改行を追加するのは非常に簡単です。それらを見るには、カーソルを動かさなければなりません。エディターでファイルを開き、最後に移動すると何が起こるかを確認してください。余分な改行が表示されます。

  2. 一般に EOF 文字などというものはありません。Windows は場合によっては、control-Z を EOF として扱います。おそらく、ファイルの終わりに達したことを示す API からの戻り値について話しているのでしょうか?

于 2011-04-03T14:02:56.383 に答える