我正在尝试存储包含二进制代码的字符串。C++,将包含二进制文件的字符串存储到文本文件中
当我试图将这个字符串写入一个文本文件时,它只是将字符串格式的每个0和1个字符存储起来,而不是根据需要将其存储到8位块中。这会导致文件比预期的大,因为它使用8位来存储每个0和1.
我应该将字符串写入.bin文件而不是.txt文件吗? 如果是这样,我将如何去做这件事,如果可能的话,一个例子与一些工作代码。
我在此先感谢您的任何建议。
string encoded = "01010101";
ofstream myfile;
myfile.open ("encoded");
myfile << encoded;
myfile.close();
澄清: 我有1的和0的(从霍夫曼树生成的)的由一个串,我想了打破这个字符串转换成8位的块,我希望写由所述缝隙所表示的每个字符到一个压缩文件。
你有一个很好的理由在字符串存储二进制数据?不能使用存储二进制数据的东西? – Pubby 2013-03-23 14:22:47
我试图通过使用霍夫曼树来存储编码文本产生的二进制文件。我遇到的问题是以8位压缩方式将二进制文件写入文件。 – user2202417 2013-03-23 15:00:20