一、打开文件
fstream file;
file.open("file.txt", ios::in);
if (!file) {
cout << "文件打开失败!" << endl;
}
在C++中,我们使用 fstream
来进行文件的输入输出,fstream
是 ifstream
和 ofstream
的基类,文件操作可以通过向 fstream
对象传递文件名称的方式来完成。打开文件的方式有多种:
ios::in
表示以只读方式打开文件ios::out
表示向文件写入信息ios::app
表示在文件末尾添加信息ios::trunc
表示删除文件中的内容并重新开始写入信息
我们可以通过文件检测来判断文件是否打开成功。
二、读取文件
string line;
while (getline(file, line)) {
cout << line << endl;
}
读取文件中的内容可以使用 getline
函数,这个函数将从文件中读取一行并把这一行的内容保存在 line
变量中。当读到文件末尾时,该函数会返回 false
,从而跳出 while
循环。
三、写入文件
fstream file;
file.open("file.txt", ios::out);
if (!file) {
cout << "文件打开失败!" << endl;
}
file << "hello world" << endl;
file.close();
要在文件中写入内容,我们需要以输出方式打开文件并使用 <<
运算符写入内容。在写入内容后,我们需要使用 close()
函数关闭文件。
四、追加文件
fstream file;
file.open("file.txt", ios::out | ios::app);
if (!file) {
cout << "文件打开失败!" << endl;
}
file << "c++ is the best programming language" << endl;
file.close();
如果我们想要在文件末尾添加内容而不是覆盖原来的内容,我们需要使用 ios::app
选项打开文件。
五、文件清空
fstream file;
file.open("file.txt", ios::out | ios::trunc);
if (!file) {
cout << "文件打开失败!" << endl;
}
file.close();
如果我们想要清空文件中的内容,我们需要以输出方式打开文件并使用 ios::trunc
选项打开文件,这样就可以删除文件中的内容并重新开始写入信息。
六、小结
fstream
是非常常用的文件操作类,在对文件进行操作时,我们需要注意文件是否成功打开,以及使用文件操作函数时是否使用了适当的文件模式。同时,我们需要注意文件的读写权限,避免出现读写错误的情况。