1

我已经手动将一些数据写入文件,即不是通过我的应用程序。

我的代码是逐字符读取数据并将它们存储在不同的数组中,但是当我插入条件 EOF 时我的程序卡住了。

经过一番调查,我发现在 EOF 之前的文件中有三到四个\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 回答