在Linux中,C++可以通过标准库中的iostream和fstream来进行文件I/O操作。iostream主要用于控制台输入输出,而fstream则用于文件输入输出。
以下是一些基本的文件I/O操作:
使用fstream的open()函数来打开一个文件。例如:
#include <fstream>
#include <iostream>
int main() {
std::fstream file;
file.open("example.txt", std::ios::in); // 以只读模式打开文件
if (!file.is_open()) {
std::cerr << "Unable to open file";
exit(1); // 如果文件打开失败,退出程序
}
// ... 进行文件操作 ...
file.close(); // 关闭文件
return 0;
}
使用>>运算符或者getline()函数来读取文件内容。例如:
std::string line;
while (std::getline(file, line)) {
std::cout << line << std::endl;
}
使用<<运算符来写入文件。例如:
file << "Hello, World!" << std::endl;
使用close()函数来关闭文件。这是一个好习惯,因为打开的文件会占用系统资源。
file.close();
注意,当文件对象离开其作用域时,它会自动关闭。因此,如果你在一个函数中使用文件,你不需要显式地调用close(),除非你想在函数结束前关闭文件。
此外,fstream还提供了其他一些有用的功能,如seekg()和seekp()用于移动文件指针,tellg()和tellp()用于获取文件指针的位置,以及eof()用于检查是否到达文件末尾等。