C++ 哈夫曼编码,使用位写入filr

C++ 哈夫曼编码,使用位写入filr,c++,encoding,C++,Encoding,我写的哈夫曼算法,它建立树。 在我有了字符串中的1和0序列之后。 如何将它们逐位归档?我在互联网上找到了代码: ofstream fout("out.txt", ios::out | ios::binary); for each(char s in bnr) { buf = buf | s << (7 - count); count++; if (count == 8) { count = 0; fout <<

我写的哈夫曼算法,它建立树。 在我有了字符串中的1和0序列之后。 如何将它们逐位归档?我在互联网上找到了代码:

ofstream fout("out.txt", ios::out | ios::binary);
for each(char s in bnr)
{
    buf = buf | s << (7 - count);
    count++;
    if (count == 8)
    {
        count = 0;
        fout << buf; 
        cout << buf;
        buf = 0;
    }
}
流fout的
(“out.txt”,ios::out | ios::binary);
对于每个(bnr中的字符s)
{

buf=buf | s假设字符串由ascii字符“0”和“1”组成,则需要对示例代码稍作更改。此示例包含大部分逻辑

    unsigned char buf = 0;
    int count = 0;
    int i = 0;
    while(s[i] != '\0')
    {
        buf = buf | ((s[i++]-'0') << (7 - count));
        count++;
        if (count == 8)
        {
            count = 0;
            fout << buf; 
            buf = 0;
        }
    }
    if(count != 0)
        fout << buf;
无符号字符buf=0;
整数计数=0;
int i=0;
而(s[i]!='\0')
{

BUF=Buf((S[i++] -''))<代码> Sthth< /Cord>?Huh?那是什么?看起来像C++ + CLI代码,不是C++ + SMT-我是指编码字符串,那么真正的问题呢?)这个问题似乎与赫夫曼编码没有太大关系。