我们有一个应用程序可以读取平面文件并解析数据。此文件不包含用于执行校验和的标头信息或总数据。所以我想创建测试用例以确保我们的应用程序正确处理“不完整”的文件。
有没有办法创建没有EOF标记的平面文件?也许我可以使用一种工具从现有文本文件中删除EOF标记?
答案 0 :(得分:5)
平面文件不包含文件结束标记。
几乎所有现代文件系统都是基于流的,只是磁盘上的一堆字节,它们没有记录/文件标记。
读取文件的std库添加任何文件结束信号
你应该测试它是否正确处理了不完整的行(即3个值而不是4个)和缺失/不同行的行(CR或LF而不是CR / LF)
答案 1 :(得分:1)
没有标准的EOF字符 - EOF是从文件读取的方法返回的条件。例如,在C中,getchar
将在到达文件末尾时返回特定于系统的负值。
终端将在完成传输后发回ASCII 4(EOT
,以便传输结束),但这对您没有多大帮助,因为您不会有EOT
个你的文件开头。
所以,这对你来说是个好消息 - 你所有的文件都会被视为同样的,你不必担心处理文件没有尽头。