我已经编码了霍夫曼树没有问题,但现在我想在文件和树中添加伪EOF,所以我知道何时停止从文件中读取。
我完全掌握了伪EOF的概念。我也明白,没有ASCII值为>的字符。 255。
我不完全理解的是将该字符添加到输入文件中。如果它必须是非ASCII字符(因为它们可以在文件中),那么我应该添加什么字符来表示EOF?
答案 0 :(得分:1)
我不确定你是否真的明白了什么是“伪EOF”。
首先,根据注释,没有大于256的ASCII字符。也不需要。
要求您做的是在代码中模拟这个。假设您有一个读取字符的函数:
int getchar(fhandle);
此函数将返回0到255之间的值以表示ASCII字符。它还可以返回一个特殊值,如-1,表示文件结束。这个特殊值是“伪EOF”。
此字符不在文件中。当文件中没有其他字符时,由函数返回。