是否可以创建没有EOF标记的文件?

时间:2010-02-10 15:22:27

标签: file-io

我们有一个应用程序可以读取平面文件并解析数据。此文件不包含用于执行校验和的标头信息或总数据。所以我想创建测试用例以确保我们的应用程序正确处理“不完整”的文件。

有没有办法创建没有EOF标记的平面文件?也许我可以使用一种工具从现有文本文件中删除EOF标记?

2 个答案:

答案 0 :(得分:5)

平面文件不包含文件结束标记。

几乎所有现代文件系统都是基于流的,只是磁盘上的一堆字节,它们没有记录/文件标记。
读取文件的std库添加任何文件结束信号

你应该测试它是否正确处理了不完整的行(即3个值而不是4个)和缺失/不同行的行(CR或LF而不是CR / LF)

答案 1 :(得分:1)

没有标准的EOF字符 - EOF是从文件读取的方法返回的条件。例如,在C中,getchar将在到达文件末尾时返回特定于系统的负值。

终端将在完成传输后发回ASCII 4(EOT,以便传输结束),但这对您没有多大帮助,因为您不会有EOT个你的文件开头。

所以,这对你来说是个好消息 - 你所有的文件都会被视为同样的,你不必担心处理文件没有尽头。