eqa*_*unn 14 c++ binary integer fstream
我有一个非常简单的问题,这对我来说很难,因为这是我第一次尝试使用二进制文件,我不太了解它们.我想要做的就是将一个整数写入二进制文件.
我是这样做的:
#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;
}
Run Code Online (Sandbox Code Playgroud)
如果我做错了什么,你能告诉我什么?
给我带来麻烦的部分是与file.write一致,我不明白.
先感谢您.
小智 27
给我带来麻烦的部分是与file.write一致,我不明白.
如果您阅读ofstream.write()方法的文档,您将看到它请求两个参数:
一个指针的数据块与要写入的内容;
一个整数值,表示该块的大小(以字节为单位).
该声明只是将这两条信息提供给ofstream.write():
file.write(reinterpret_cast<const char *>(&num), sizeof(num));
Run Code Online (Sandbox Code Playgroud)
&num是数据块的地址(在这种情况下只是一个整数变量),sizeof(num)是该块的大小(例如Windows平台上的4个字节).
| 归档时间: |
|
| 查看次数: |
45040 次 |
| 最近记录: |