文件操作大概可以分为以下几个步骤:
- 打开(或者创建)文件;
- 对文件进行操作;
- 关闭文件;
看上去非常简单也非常清晰,但是实际操作最为重要。
要用到的头文件为 fstream .
为了让大家清晰,我们进行分步操作。
打开文件操作:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ofstream file1;//这里是对文件指针进行声明,ifstream是读文件的方式打开,ofstream是写文件的方式打开。
string filename;//这里自定义文件名,注意在实际输入时,要加上文件后缀名。
cin >> filename;
file1.open(filename);//打开这个文件,如果没有这个文件则创建这个文件。
if(!file1.is_open())//检验文件有没有被打开,如果文件没有被打开,那么file.is_open()=1
{
cout << "the file was not opened" <<endl;
return 0;
}
//至此打开文件的操作完毕,
file1.close();
return 0;
}
我们去跑一下这一段代码:
没有报错,也没有提示 the file was not opened. 说明文件被创建了。
这时我们返回项目的目录下,发现文件被创建完毕。
我们就这样进行完了打开的操作,那么如何进行最简单的读写呢,
下面的代码会解答这个问题。
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
string filename;
cin >> filename;
ofstream file2;//还是以写文件的方式进行声明。
file2.open(filename);
//下面是对这个文件写入信息的操作,我们在创建文件时,最好采用.txt的后缀名,方便我们查看;
if(!file2.is_open())
{
cout << "the file2 was not opened" <<endl;
return 0;
}
file2 << "hello,world!" << endl;
file2 << "C++ , help me solving a problem." << endl; //这就是最简单的写入操作,我们向里面写入了两句话。
file2.close();
return 0;
}
如此便完成了写入文件的操作。
我们再次运行。
还是像上次一样,输入我们之前创建的那个文件的名字。
运行后,我们回去目录下查看我们的文件。
我们写入的内容已经在文件内了!
下面是如何简单的读取文件
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
string my_word;
string filename;
cin >> filename;
ifstream file1;//现在就要使用读取的方式打开文件了,所以使用ifstream声明;
file1.open(filename);
if(!file1.is_open())
{
cout << "the file was not opened" <<endl;
return 0;
}
while(getline(file1,my_word))//将读文件操作写入while的目的是读取到文件的尽头,getline是逐行将file1中的字符读取到string型的my_word中;
{
cout << my_word << endl;//打印读取的文件;
}
return 0;
}
下面我们再次运行并输入使用的文件 test1.txt ;
得到如下结果。
发现这就是我们文件中的内容。至此,读写文件操作完毕。
相信各位在学习中也发现了关闭文件的操作了
没错,就是最简单的 .close()