求一个c++二进制输入输入文件的代码 20

structCourseInf{charcourse[20];//课程名doublescore;//课程分数};structSTU{charname[20];//学生姓名... struct CourseInf
{
char course[20]; // 课程名
double score; //课程分数
};
struct STU
{
char name[20]; //学生姓名
char sex[10];
int age;
char nummber[20]; //学号
char phone[20]; //其它信息
int n; //课程门数
CourseInf sc[50]; //储学生已修课程信息,最大50门
};
class Student
{
private:
STU data[100]; //存储信息,最多10名学生
int length; //人数
public:
Student();
void WriteFile(char filename[]);
void ReadFile(char filename[]);
};
把文件输入输出放入 类内 不要用链表
展开
 我来答
月光疾风_Free
推荐于2016-07-28 · TA获得超过681个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:215万
展开全部

ios::in //供读,文件不存在则创建(ifstream默认的打开方式)
ios::out //供写,文件不存在则创建,若文件已存在则清空原内容

ios::binary  //二进制格式文件

现写一个例子如下, 往c.txt(为空白文件)中按二进制写入内容和读取内容:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
int cnt=0;
string str;
ifstream fin("c.txt", ios::in | ios::binary);
ofstream fout("c.txt", ios::out | ios::binary);

fout<<"中华人民共和国\n美利坚合众国";  //二进制写入
fout.close();

if(!fin){
printf("The file is not exist!\n");
return -1;
}
while(getline(fin, str)) //二进制读出
{
cnt++;
cout<<str<<endl;
}
fin.close();
return 0;
}

执行程序之后,c.txt内容如下(实际上是2行,由于是二进制输入,我们看到的是1行):

2进制读出的结果如下(这里就会正常显示成2行):

匿名用户
2015-03-23
展开全部
追问
私信我一下  想说的东西放不下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式