【发布时间】:2013-03-23 14:17:27
【问题描述】:
我目前正在尝试存储包含二进制代码的字符串。
当我尝试将此字符串写入文本文件时,它只是以字符串格式存储每个 0 和 1 字符,而不是按照我的要求将其存储为 8 位块。这会导致文件比预期的大,考虑到它使用 8 位来存储 0 和 1。
我应该将字符串写入 .bin 文件而不是 .txt 文件吗? 如果是这样,我将如何去做,如果可能的话,还有一些工作代码的例子。
感谢您提前提供的任何建议。
string encoded = "01010101";
ofstream myfile;
myfile.open ("encoded");
myfile << encoded;
myfile.close();
澄清: 我有一个由 1 和 0 组成的字符串(由霍夫曼树产生),我希望将此字符串分成 8 位块,我希望将所述缝隙表示的每个字符写入压缩文件。
【问题讨论】:
-
您有充分的理由将二进制数据存储在字符串中吗?不能使用用于存储二进制数据的东西?
-
我正在尝试存储通过使用霍夫曼树对文本进行编码产生的二进制文件。我遇到的问题是以 8 位压缩方式将二进制文件写入文件。
标签: c++ binaryfiles fstream ofstream huffman-code