我有一个非常简单的问题,这对我来说很难,因为这是我第一次尝试使用二进制文件,我不太明白.所有我想做的是将一个整数写入二进制文件.
这是我如何做到的:
#include <fstream> using namespace std; int main () { int num=162; ofstream file ("file.bin",ios::binary); file.write ((char *)&num,sizeof(num)); file.close (); return 0; }
你能告诉我,如果我做错了什么,什么?
给我麻烦的部分是file.write,我不明白.
先谢谢你.
解决方法
The part that is giving me trouble is line with file.write,I don’t
understand it.
如果您阅读了.stream.write()方法的文档,您会看到它要求两个参数:
>指向要写入内容的数据块的指针;
>一个整数值,表示该块的大小(以字节为单位).
这个声明只是把这两条信息提供给stream.write():
file.write(reinterpret_cast<const char *>(&num),sizeof(num));
& num是数据块的地址(在这种情况下只是一个整数变量),sizeof(num)是这个块的大小(例如Windows平台上的4个字节).