下面我们来详细讲解C++中简单的文本文件输入/输出。
前置知识
在学习本文时,你需要掌握以下C++基础知识:
- 文件操作
- C++流(包括输入流和输出流)
- 命名空间的使用
简介
简单来说,C++中文件的输入/输出就是指将程序中的数据读取、写入到文件中,或者将文件中的数据读取、写入到程序中。本文详细介绍了C++中如何使用文件流来进行文本文件的输入和输出操作,其中包含两个示例。
示例1
功能
程序从键盘上读取一些字符串,然后将它们写入到一个文本文件里。具体步骤如下:
- 使用
fstream
对象打开一个文本文件(以输出方式) - 从标准输入读入一些字符串
- 将这些字符串写入到打开的文本文件中
- 关闭文件
代码
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// 打开一个文件(以输出方式)
ofstream fout("file.txt");
if (!fout) {
cout << "Failed to open file.txt." << endl;
}
// 读取字符串并写入文件中
string str;
while (getline(cin, str)) {
fout << str;
}
// 关闭文件
fout.close();
return 0;
}
解析
首先,我们使用ofstream
对象以输出方式打开一个文件file.txt
,如果打开失败,就输出错误信息(这部分代码可以用ofstream
的成员函数is_open()
来判断,便于更准确地处理错误):
ofstream fout("file.txt");
if (!fout) {
cout << "Failed to open file.txt." << endl;
}
接下来从标准输入中读取字符串,并将字符串写入到打开的文件中,代码如下:
string str;
while (getline(cin, str)) {
fout << str;
}
这里使用getline()
函数从标准输入中读取一行字符串,这是因为我们读入的字符串可能包含空格和换行符,用cin
的话会出现问题。将读取到的字符串写入到打开的文件中,即:
fout << str;
最后我们关闭文件,代码如下:
fout.close();
需要注意的是,在使用文件流时,关闭文件是非常重要的,否则会出现文件写入失败的情况。
示例2
功能
从文本文件中读取一些字符串,并在标准输出中显示出来。具体步骤如下:
- 打开一个文本文件(以输入方式)
- 从文件中逐行读取字符串
- 将读取到的字符串输出到标准输出中
- 关闭文件
代码
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// 打开一个文件(以输入方式)
ifstream fin("file.txt");
if (!fin) {
cout << "Failed to open file.txt." << endl;
}
// 逐行读取文件,输出到标准输出中
string line;
while (getline(fin, line)) {
cout << line << endl;
}
// 关闭文件
fin.close();
return 0;
}
解析
首先,我们使用ifstream
对象以输入方式打开一个文件file.txt
,如果打开失败,就输出错误信息:
ifstream fin("file.txt");
if (!fin) {
cout << "Failed to open file.txt." << endl;
}
接下来每读取一行即将它输出到标准输出中,代码如下:
string line;
while (getline(fin, line)) {
cout << line << endl;
}
和写入文件一样,使用getline()
函数每次读取一行,将读入到的一行字符串输出。需要注意的是每次输出一行后都要加上换行符,否则会出现多行文本在同一行输出的情况。
最后我们关闭文件,代码如下:
fin.close();
需要注意,打开文件和关闭文件时,文件路径要与文件名称一起写明,文件路径可以是绝对路径或相对路径,相对路径需要结合程序所在目录进行调整。
总结
本文通过两个示例,详细介绍了C++中文本文件的输入/输出。
在打开文件时,我们可以使用fstream
、ifstream
或ofstream
来创建对应的文件输入/输出流,并通过指定文件路径、文件名和打开方式(二进制或文本)等来控制文件操作。
在进行文件输入/输出时,我们可以利用流的输入和输出操作符>>
和<<
来读取、写入数据,或使用getline()
函数来读取一个字符串。在进行文件操作时,我们需要注意错误处理和关闭文件操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中简单的文本文件输入/输出示例详解 - Python技术站