【发布时间】:2011-02-02 11:55:32
【问题描述】:
我正在尝试从二进制文件中读取数据,但遇到了问题。我已将其简化为这里最简单的情况,但它仍然无法正常工作。我是 C++ 新手,所以我可能会做一些愚蠢的事情,但是如果有人可以建议我将非常感激。
代码:
int main(int argc,char *argv[]) {
ifstream myfile;
vector<bool> encoded2;
cout << encoded2 << "\n"<< "\n" ;
myfile.open(argv[2], ios::in | ios::binary |ios::ate );
myfile.seekg(0,ios::beg);
myfile.read((char*)&encoded2, 1 );
myfile.close();
cout << encoded2 << "\n"<< "\n" ;
}
输出
00000000
000000000000000000000000000011110000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 P>
Compression_Program(58221) malloc: * 对象 0x10012d 错误:未对齐指针被释放 * 在 malloc_error_break 中设置断点进行调试
提前致谢。
【问题讨论】:
-
什么是编码 2 的向量 a std::vector
?使用 &encoded2[0] 并调整向量的大小。
标签: c++ memory binary-data