【发布时间】:2016-01-05 12:45:42
【问题描述】:
我正在使用 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;
}
问题出在 f1.write 行。我可以向二进制文件写入一个数组,但是当我尝试只写入一个 int 块时,它给了我一个错误:
Project.exe 中 0x522C7EA6 (msvcp120d.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000002。
我不明白问题出在哪里。
【问题讨论】: