I/O :文件流
来源:互联网 发布:大隅级两栖攻击舰 数据 编辑:程序博客网 时间:2024/05/02 01:48
首先搞清流的输入输入出
图解:
- 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); //在进制前加上大小写字母
0 0
- 文件I/O流
- I/O :文件流
- 文件和I/O流
- 文件和I/O流
- I/O流与文件
- I/O流 文件读写
- 文件I/O流读写
- I/O流,(文件)
- I/O流及文件
- 文件 I/O字节流
- 文件 I/O字符流
- 文件 I/O缓冲流
- 文件I/O与标准I/O
- 标准I/O、文件I/O
- 文件I/O与标准I/O
- 基于流的I/O--文件操作
- C++文件流I/O小程序
- I/O操作 – 文件流
- 项目中EditView,WebView焦点的问题
- 员工管理(JDBC)
- 《Java编程思想》学习记录仪四 -- Java数组和作用域初步认识(第二章一切都是对象)
- mysql基础知识
- linux静态库的创建与使用
- I/O :文件流
- IE6、IE7:ul li a span 组合中 span{ float:right}浮动后日期内容往下行移动总结
- 二维数组中的查找问题
- Action的动态调用方法
- 函数指针做为参数的例子
- String,StringBuffer与StringBuilder的区别
- Android中ArrayList的使用注意事项以及效率的比较
- SVN 的使用
- 聚类算法和分类算法总结