c -\n 文件中 EOF 之前的字符导致问题

标签 c newline eof

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

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

经过一些调查,我发现在我的文件中,在 EOF 之前有三到四个 \n 字符。我没有插入它们。我不明白为什么它们在我的文件中。

最佳答案

想要删除那些讨厌的额外字符?首先,查看文件末尾有多少个:

od -c <filename> | tail

然后,删除许多您不喜欢的字符。如果是 3:

truncate -s -3 <filename>

但总的来说,如果是我,我会更改我的程序以丢弃不需要的换行符,除非根据输入文件格式规范它们确实无效。

关于c -\n 文件中 EOF 之前的字符导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529991/

相关文章:

c - 如何在 c 中的 EOF 后返回一行

c - 在 C 中动态与动态创建的数组

unsigned->float 转换的 C 舍入,其中 src 与其向上舍入值或向下舍入值的距离相等?

c - 为什么我必须按 ctrl+d 多次才能 scanf 才能看到它?

php - 一段时间后,在 PHP 的 CLI 中打印\r 到 STDOUT 中断

git - 防止某个文件夹中的 CRLF 转换

python - 使用扭曲的 python 编码修复 virtualenv 的最快、最轻松的方法是什么?

c - c中的并行快速排序

CPU缓存抑制

PHP 正则表达式 : How to match\r and\n without using [\r\n]?