小编Mar*_*kas的帖子

将整数写入二进制文件C++的问题

我正在使用fstream将整数写入二进制文件.

int main(){

fstream f1;
int num = 2, num2 = 0;

f1.open("dat1", ios::app | ios::out | ios::in | ios::binary);

f1.write((char *)num, sizeof(int));
f1.seekp(0);
f1.read((char *)num2, sizeof(int));

cout << num2;

}
Run Code Online (Sandbox Code Playgroud)

问题出在f1.write上.我可以写一个数组的二进制文件,但是当我尝试只编写一个int块时,它给了我一个错误:

Project.exe中0x522C7EA6(msvcp120d.dll)的未处理异常:0xC0000005:访问冲突读取位置0x00000002.

我不明白问题是什么.

c++ binary fstream file

0
推荐指数
1
解决办法
277
查看次数

标签 统计

binary ×1

c++ ×1

file ×1

fstream ×1