文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、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<<endl
<< "年龄:" << age << endl
<<"性别:" << male << endl;
}
return 0;
}
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;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)