I/O :文件流
2015-09-21 21:52
288 查看
首先搞清流的输入输入出
图解:ifstream: 搞出的是输入文件流对象
ofstream: 搞出的是输出文件流对象
fstream 输入输出文件流
#include <iostream> #include <fstream> #include <cstdlib> #include <cstring> using namespace std; struct Student { char name[10]; char num[20]; int age; }; void disp_all(Student *t, int len) { cout << "---------------------" << endl; for(int i=0; i<len; i++) { cout << "number: " << (t+i)->num << endl; cout << "name: " << (t+i)->name << ", age: " << (t+i)->age << endl; } } void disp(Student *t) { cout << "number: " << t->num << endl; cout << "name: " << t->name << ", age: " << t->age << endl; } int main() { Student stu[5] = { "Larry", "1221010", 18, "DaWei", "1221011", 18, "LiLi", "1221012", 20, "PaPa", "1221013", 19, "HuoFu","1221014", 10, }; //这种方式不会默认的创建文件 fstream iofile("file/save2.dat", ios::in|ios::out|ios::binary); if(!iofile) { cerr<< "open error" << endl; abort();//与exit()的作用相同 } // 作用: 将stu中的5个元素写到磁盘文件中 for(int i=0; i<5; i++) iofile.write((char *)&stu[i], sizeof(Student)); Student g[5] = {0}; //作用: 将文件中的5个元素读入内存 iofile.seekg(0, ios::beg);//将文件指针指向文件开头 for(int i=0; i<5; i++) { iofile.read((char *)&g[i], sizeof(g[i])); cout << iofile.tellg() << endl; } disp_all(g, 5); strcpy(stu[2].name,"huahua"); strcpy(stu[2].num, "1234" ); stu[2].age = 12; //将一个stu元素放在文件开头指定个字节处 iofile.seekp(2*sizeof(Student), ios::beg); iofile.write((char *)&stu[2], sizeof(Student)); iofile.seekg(2*sizeof(Student), ios::beg); iofile.read((char *)&g[2], sizeof(Student)); disp_all(g, 5); iofile.close(); return 0; }
下面这个在重载输入流的时候用过
cin 流出错
if(cin) ….
标准输出流里
cout.unsetf(ios::dex); //关掉10进制
cout.setf(ios::showbase); //在进制前加上大小写字母
相关文章推荐
- Node.js 的异步 IO 性能探讨
- SQL Server误区30日谈 第22天 资源调控器可以调控IO
- mysql 数据同步 出现Slave_IO_Running:No问题的解决方法小结
- java中的Io(input与output)操作总结(一)
- java中的Io(input与output)操作总结(四)
- SQL语句实现查询当前数据库IO等待状况
- Java进阶教程之IO基础
- java中的Io(input与output)操作总结(三)
- Java 1.0和Java 1.1 的IO类的比较
- JAVA IO API使用详解
- Java NIO和IO的区别
- Python中使用select模块实现非阻塞的IO
- Python通过poll实现异步IO的方法
- Python通过select实现异步IO的方法
- 花1K内存实现高效I/O的RandomAccessFile类
- UNIX系统的IO模型
- 焊接IO芯片技巧
- 用iostat对linux硬盘IO性能进行检测
- 桌面虚拟化场景中对存储系统IO性能的评估方法之我见
- java中的IO整理