霍夫曼编码 - 伪EOF

时间:2014-03-28 09:30:31

标签: c++ eof huffman-code

我已经编码了霍夫曼树没有问题,但现在我想在文件和树中添加伪EOF,所以我知道何时停止从文件中读取。

我完全掌握了伪EOF的概念。我也明白,没有ASCII值为>的字符。 255。

我不完全理解的是将该字符添加到输入文件中。如果它必须是非ASCII字符(因为它们可以在文件中),那么我应该添加什么字符来表示EOF?

1 个答案:

答案 0 :(得分:1)

我不确定你是否真的明白了什么是“伪EOF”。

首先,根据注释,没有大于256的ASCII字符。也不需要。

要求您做的是在代码中模拟这个。假设您有一个读取字符的函数:

int getchar(fhandle);

此函数将返回0到255之间的值以表示ASCII字符。它还可以返回一个特殊值,如-1,表示文件结束。这个特殊值是“伪EOF”。

此字符不在文件中。当文件中没有其他字符时,由函数返回。