C++中我们做到一些稍微高难度的程序时,需要对一些数据进行保存,调用,这个时候我们便要使用到了文件。我就将文件的使用简单教给大家,大家可以在短时间内解决一些比较简单的文件问题。
首先,我们明确在代码中使用文件共分为三步:
- 打开文件
- 读/写文件
- 关闭文件
如果想要使用文件的调用,需要添加头文件:#include <fstream
打开文件需要定义流对象(这个概念因为是速成,所以不加以讲解)。可以先定义流对象之后再打开:
fstream dataFile;
dataFile.open("info.dat", ios::in | ios::out);
也可以在定义流对象时打开文件:
frstream dataFile("names.dat",ios::in|ios::out);
我们可以看到括号内共有两个参数,第一个参数为文件名,第二个参数代表的意思为:文件的打开方式。
小高一共找到了八种常用的文件打开模式:
ios::app 追加模式
ios::ate 如果文件已存在,直接转到文件的尾部
ios::binary 二进制的方式打开文件
ios::in 从文件中读取数据
ios::out 向文件中写数据
ios::nocreate 如果文件不存在,则不可以创建
ios::noreplace 如果文件不存在则建立新文件,如果文件存在则操作失败
ios::trune 若文件存在删除其内容
当你引用了文件的时候,根据程序员编程的潜规则,你需要添加一段代码:
if (!dataFile)
{
cout << "打开文件失败\n";
exit(0);
}
这段代码是测试文件是否能够打开的一段重要代码,不可缺少。
使用文件之后,我们还要做的一点就是关闭文件。
dataFile.close();
在我们使用文件的时候,计算机会为文件分一些空间:缓冲区,其中是存储着一些文件的数据的,如果突然切断电源,缓冲区的数据是不会流入文件的,会导致文件的丢失。而且操作系统会限制我们同时打开文件的数量,这就是我们关闭文件的原因。
给大家看一段较为简单的代码:
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
fstream dataFile;
dataFile.open("info.dat", ios::in | ios::out);
if (!dataFile)
{
cout << "打开文件失败\n";
exit(0);
}
dataFile << "XiaoGao\n";
dataFile << "Shuai\n";
dataFile.close();
return 0;
}
这个即是关于文件的基本操作。后续会有一些文件方面高难度的讲解,也欢迎大家随时关注,让我们共同前行。
最后送给大家一段我很喜欢的话:
这个世界缺的不是完美的人,而是从心底给出的真心、正义、无畏与同情。
愿你在被打击时能记起你的珍贵,抵抗恶意;在迷茫时,坚信你的珍贵,爱你所爱,行你所行,
听从你心,无问西东。