C++ 将8位的位集写入文件(C+;+;)
我有一个8位的位集 如何将这8位转换为一个字节,然后写入文件 我找遍了所有地方,却发现了另一条路 非常感谢 它们还可以以二进制格式从流中直接插入和提取 您不需要转换任何内容,只需将它们写入输出流即可 除此之外,如果您真的想将它们提取到您习惯的内容中,则会提供C++ 将8位的位集写入文件(C+;+;),c++,byte,bitset,C++,Byte,Bitset,我有一个8位的位集 如何将这8位转换为一个字节,然后写入文件 我找遍了所有地方,却发现了另一条路 非常感谢 它们还可以以二进制格式从流中直接插入和提取 您不需要转换任何内容,只需将它们写入输出流即可 除此之外,如果您真的想将它们提取到您习惯的内容中,则会提供to_ulong和to_string方法 如果集合中的位多于无符号long所能容纳的位,并且不想将它们直接写入流,那么您要么必须转换为字符串并按该路径执行,要么使用[]运算符访问每个位,并将它们转换为您正在写入的字节。 它们还可以以二进制格
to_ulong
和to_string
方法
如果集合中的位多于无符号long所能容纳的位,并且不想将它们直接写入流,那么您要么必须转换为字符串并按该路径执行,要么使用[]
运算符访问每个位,并将它们转换为您正在写入的字节。
它们还可以以二进制格式从流中直接插入和提取
您不需要转换任何内容,只需将它们写入输出流即可
除此之外,如果您真的想将它们提取到您习惯的内容中,则会提供to_ulong
和to_string
方法
如果集合中的位多于无符号long所能容纳的位,并且不想将它们直接写到流中,那么您要么必须转换为字符串并按该路径进行,要么使用
[]< /Cord>运算符,将它们转换成你正在编写的字节。 < P>假设你在谈论C++ STL位集,答案是把BITSUT转换成int(ULUN是精确的),并将结果转换成字符。p>
例如:
#include <bitset>
#include <iostream>
using namespace std;
main()
{
bitset<8> x;
char byte;
cout << "Enter a 8-bit bitset in binary: " << flush;
cin >> x;
cout << "x = " << x << endl;
byte = (char) x.to_ulong();
cout << "As byte: " << (int) byte << endl;
}
#包括
#包括
使用名称空间std;
main()
{
位集x;
字符字节;
cout x;
假设你正在谈论C++ STL位集,答案是把比特集转换成int(ULUN是精确的),并将结果转换成字符。
例如:
#include <bitset>
#include <iostream>
using namespace std;
main()
{
bitset<8> x;
char byte;
cout << "Enter a 8-bit bitset in binary: " << flush;
cin >> x;
cout << "x = " << x << endl;
byte = (char) x.to_ulong();
cout << "As byte: " << (int) byte << endl;
}
#包括
#包括
使用名称空间std;
main()
{
位集x;
字符字节;
cout x;
您可以使用fstream std::ofstream
:
#include <fstream>
std::ofstream os("myfile.txt", std::ofstream::binary);
os << static_cast<uint_fast8_t>(bitset<8>("01101001").to_ulong());
os.close();
#包括
std::ofstream操作系统(“myfile.txt”,std::ofstream::binary);
os您可以使用fstream std::ofstream
:
#include <fstream>
std::ofstream os("myfile.txt", std::ofstream::binary);
os << static_cast<uint_fast8_t>(bitset<8>("01101001").to_ulong());
os.close();
#包括
std::ofstream操作系统(“myfile.txt”,std::ofstream::binary);
os什么是位集
?它在哪里定义?将位集
转换为地板
,并调用jifiddle()FileGizmo
对象上的成员函数。您指的是这个吗?什么是BitSet
?它定义在哪里?将BitSet
转换为floobalar
并调用FileGizmo
对象上的jifiddle()
成员函数。您指的是这个吗?如果我“只需将它们写入输出流”正如您所说,输出流包含一系列“0”和“1”字符。当文档说“以二进制格式从流中插入和提取”时,我希望将8位的组写入字节。例如,[代码]位集F(“01000110”);流fs(“test.txt”);如果I只需将它们写入输出流”正如您所说,输出流包含一系列“0”和“1”字符。当文档说“以二进制格式从流中插入和提取”时,我希望将8位的组写入字节。例如[code]位集F(“01000110”);流fs(“test.txt”);fs