首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将"8位“(字节)字符串写入二进制文件?

将"8位“(字节)字符串写入二进制文件?
EN

Stack Overflow用户
提问于 2019-02-28 03:57:47
回答 1查看 193关注 0票数 1

我尝试过许多其他线程的建议,但都没有结果。

我正在做赫夫曼的编码,我遇到的问题是让我的string 'byte' (通常长度为8)作为字符写入输出二进制文件。每当我打开输出文件时,比特都与我所输入的完全不同。此外,当我将字符串“char 'c'”转换为字符后输出'c'时,'c'的二进制文件与我的原始输入不匹配。例如,'c'将是一个10位字符,而我总体上左撇子超级困惑。

那么,我该如何正确地做到这一点呢?还是其他地方的问题呢?

下面是代码:

代码语言:javascript
复制
if (byte.length() >= 8) {
            bitset<8> b(byte.substr(0, 8));
            c = static_cast<unsigned char>(b.to_ulong());
            flit.write(&c, 1);

    }
  • 保存我的位字符的byte -字符串
  • flit - ouput文件流
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-28 06:20:59

你是否有理由试图将你的位集表示为无符号长?从您的描述中可以看出,bitset::to_string 链接的功能涵盖了您想要做的事情

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54918182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档