C语言二进制文件读写是什么意思?能举个例子吗

2024-12-15 20:28:23
推荐回答(3个)
回答1:

例如 int a=24
FILE *fp
fp=fopen("txt","wb");
fwrite(&a,sizeof(int),1,fp)
这样就把它用二进制 写进了文件里面
因为 你用的是二进制写,所以 把你要的写的东西都换成了二进制
然后存放在文件里面的 你用记事本打开那个文件 看到的东西是乱的 很正常 不用在意
到时候你用 rb
fread 打开 弄出来 就是24 了
PS: 我喜欢用fwrite 和 fread 因为基本什么类型的数据都以用 你也可以用其他函数 就看自己的习惯啦

回答2:

int main()
{
ofstream out;
ifstream in;

//!!!!!!!!!!!!!!!

student data[4]={"Xietin","90","HUlin","88","Weiwei","96","Libai","99"};
//初始化的数据

out.open("E:\\s.dat",ios::out|ios::binary);
//在E盘打开一个二进制文件用于保存

if(!out) return 0;

for(int i=0;i<4;i++)
out.write((char*) &data[i],sizeof(data[i]));

out.close();
//!!!!!!!!!!!!!!!!!!

in.open("E:\\s.dat",ios::in|ios::binary); //读取
if(!in) return 0;

student temp;
for(int i=0;i<4;i++)
{
in.read((char*)&temp,sizeof(temp));
cout<}
in.close();

return 0;
}

回答3:

然后打开显示的是一个向上箭头。
二进制文件不是随便给你用什么文本编辑器就能打开的。
听名字就知道,它是【二进制】文件不是【文本】文件,自然不是给你用【文本】编辑器打开。所以记事本开起来看到奇怪的东西也是正常的。
看二进制文件的内容你需要专门的二进制编辑器(其实应该叫十六进制编辑器),比如xvi32,比如frhed