对二进制文件的操作(c++ 程序设计 by 谭浩强 课本实例)
2011-11-27 20:21
357 查看
//将一批数据以二进制形式存放在磁盘文件中 #include<iostream> #include<fstream> using namespace std; struct student { char name[20]; int num; int age; char sex; }; int main() { student stud[3]={"Li",1001,18,'f',"Fun",1002,19,'m',"Wang",1004,17,'f'}; //定义输出文件流对象outfile,以输出方式打开二进制文件 ofstream outfile("stud.dat",ios::binary); if(!outfile) { cout<<"open error!"<<endl; abort(); //退出程序与exit(1)作用相同 } for(int i=0;i<3;i++) //第一个形参要用(char *)进行强制转换为字符指针 //第二个形参是指定一次输出的字节数 outfile.write(( char *)&stud[i],sizeof(stud[i])); outfile.close(); //关闭文件 system("pause"); return 0; }
//将刚才以二进制形式存放在磁盘文件的数据读入内存并在显示器上显示 #include<iostream> #include<fstream> using namespace std; struct student { char name[20]; int num; int age; char sex; }; int main() { student stud[3]; int i; //定义输入文件流对象infile,以输入方式打开磁盘文件stud.dat ifstream infile("stud.dat",ios::binary); if(!infile) //打开失败 { cerr<<"open error!"<<endl; abort(); } for(i=0;i<3;i++) //调用成员函数read来读二进制文件 infile.read((char *)&stud[i],sizeof(stud[i])); infile.close(); //关闭文件 for(i=0;i<3;i++) //分别输出三个同学的信息 { cout<<"NO."<<i+1<<endl; cout<<"name:"<<stud[i].name<<endl; cout<<"num:"<<stud[i].num<<endl; cout<<"age:"<<stud[i].age<<endl; cout<<"sex:"<<stud[i].sex<<endl; cout<<endl; } system("pause"); return 0; }
相关文章推荐
- 对二进制文件的操作(c++ 程序设计 by 谭浩强 课本实例)
- C++对二进制文件的操作实例
- C++对二进制文件的操作实例
- 谭浩强版C++课本实例 第一章 c++的初步认识
- 谭浩强版C++课本实例 第二章 类和对象(4)
- 谭浩强版C++课本实例 第三章 关于类和对象的进一步讨论(14)
- 谭浩强版C++课本实例 第四章 运算符重载
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- c++中vector类型操作实例
- C++程序设计 谭浩强 第二版 习题4.11
- [C++]MySQL数据库操作实例
- c++共享内存操作实例
- c++程序设计梳理(谭浩强)3-4章
- 位操作c++代码实例及运行结果
- 雇佣问题随机排列数组(permuteBySorting)-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- C++实现对象序列化和反虚拟化(读写二进制文件)操作
- 位操作c++代码实例及运行结果
- [C++]MySQL数据库操作实例
- [转]c++: fstream文件操作及对二进制文件的操作