我有类似下面的内容,并在用任意数量的位填充后,我需要将字节写入文件.我没有看到这样做的方法,它看起来很有用,所以我必须遗漏一些东西.有任何想法吗?
std::vector<bool> a;
a.push_back(true);
a.push_back(false);
a.push_back(false);
a.push_back(true);
a.push_back(false);
a.push_back(true);
a.push_back(true);
a.push_back(false);
Run Code Online (Sandbox Code Playgroud)
小智 7
std::vector <bool>
实际上并不包含bools(iebytes),它包含位!这主要是一个missfeature,建议您使用std::deque <bool>
,而不是这个"功能".
如果您希望存储是连续的,请使用std::vector <char>
.
尝试这个
void WriteOut(fstream& stream, const vector<bool>& data) {
for (vector<bool>::const_iterator it = data.begin(); it != data.end(); it++) {
stream << *it;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6956 次 |
最近记录: |