注册 登录
编程论坛 C++教室

求助:关于C++2进制文件流的问题

zbh160 发布于 2012-03-04 11:34, 527 次点击
#include<iostream>
#include<fstream>
using namespace std;
void main()
{ofstream outfile("d:stu11.dat",ios::binary);
 char stu[10];
 for(int i=1;i<10;i++)
 {cin>>stu[i];
 outfile.write((char*)&stu[i],sizeof(stu[i]));
 }
     outfile.close();
}
小弟新手上路,
我想问下这行outfile.write((char*)&stu[i],sizeof(stu[i]));((char*)&stu[i]是什么意思?char的作用是什么?
5 回复
#2
loveshuang2012-03-04 11:52
测试的结果是加或不加char*都是一样,没啥作用吧。你这个程序是想做什么呢?在文件中输入字符数组的内容还是地址?
#3
zbh1602012-03-04 15:43
就是文件存储的一个练习吧,我看书本来学的,二进制的存储和ASCI码不一样,用WRITE来写的,但是不太清楚char到底在这里起什么用的
#4
hjhboy2012-03-04 16:56
我也来学习下  希望有人可以回答下
#5
lwei2012-03-05 11:33
强制性类型转换。
write原型是这样定义的,
 ostream &write( const char *buffer, streamsize num );
#6
zbh1602012-03-06 08:45
回复 5楼 lwei
哦,还有个小问题哈,二进制文件是以字符形式存储的吗?
1