文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、C++文件读取的类库
- 二、使用步骤
- 1.ofstream 内存的数据保存至硬盘
- 2.ifstream 内存读取硬盘的数据
前言
文件的读写可以理解为:内存和硬盘之间的数据交换,读和写的视角是内存。
文件的读是指:内存读取硬盘的数据;
文件的写是指:内存的数据保存至硬盘。
一、C++文件读取的类库
ifstream 内存读取硬盘的数据
ofstream 内存的数据保存至硬盘
代码如下(示例):
#include#include //文件流类库的头文件 using namespace std; int main() { string name; int age; string male; //构造函数写法,参数为:文件路径、和文件打开模式 //打开模式: //ios_base::app: 以追加的方式打开文件 //ios_base::ate: 文件打开后定位到文件尾,ios:app就包含有此属性 //ios_base::binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文 //ios_base::in: 文件以输入方式打开(文件数据输入到内存) //ios_base::out: 文件以输出方式打开(内存数据输出到文件) //ios_base::nocreate: 不建立文件,所以文件不存在时打开失败 //ios_base::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 //ios_base::trunc: 如果文件存在,把文件长度设为0 ofstream file("test.txt", ios_base::app); //当打开文件失败时,返回false if (!file) cout << "由于某种原因,文件打开失败" << endl; else { cout<< "请输入姓名:"; cin >> name; cout << "请输入年龄:"; cin >> age; cout << "请输入性别:"; cin >> male; file << "姓名:" << name< 2.ifstream 内存读取硬盘的数据 打开刚才保存的文件test.txt
代码如下(示例):#include#include //文件流类库的头文件 using namespace std; int main() { string end; //文件尾 string text[3];//初始化数组 int i = 0; ifstream file; file.open("test.txt"); if (!file) cout << "由于某种原因,文件打开失败" << endl; else { while (file >> end) //到达文件尾部返回为0 { text[i] = end; i++; } } cout << text[0] << endl << text[1] << endl << text[2] << endl; return 0; } 还可以写为
#include#include //文件流类库的头文件 using namespace std; int main() { string name, age, fale; ifstream file; file.open("test.txt"); if (!file) cout << "由于某种原因,文件打开失败" << endl; else { file >> name >> age >> fale; cout << name << endl << age << endl << fale << endl; } return 0; }



