阅读量:3
在Linux环境下,C++可以使用标准库中的来进行文件操作。提供了ifstream、ofstream和fstream三个类,分别用于输入、输出和输入/输出操作。
以下是一些基本的文件操作示例:
- 打开文件:
#include
#include
int main() {
std::ifstream inputFile("input.txt"); // 打开名为input.txt的文件用于读取
if (!inputFile.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
// ... 进行文件操作 ...
inputFile.close(); // 关闭文件
return 0;
}
- 写入文件:
#include
#include
int main() {
std::ofstream outputFile("output.txt"); // 打开名为output.txt的文件用于写入
if (!outputFile.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
outputFile << "Hello, World!" << std::endl; // 写入数据到文件
outputFile.close(); // 关闭文件
return 0;
}
- 追加内容到文件:
#include
#include
int main() {
std::ofstream outputFile("output.txt", std::ios::app); // 以追加模式打开文件
if (!outputFile.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
outputFile << "追加的内容" << std::endl; // 追加数据到文件
outputFile.close(); // 关闭文件
return 0;
}
- 读取文件:
#include
#include
#include
int main() {
std::ifstream inputFile("input.txt"); // 打开名为input.txt的文件用于读取
if (!inputFile.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
std::string line;
while (std::getline(inputFile, line)) { // 逐行读取文件内容
std::cout << line << std::endl;
}
inputFile.close(); // 关闭文件
return 0;
}
- 同时读取和写入文件:
#include
#include
int main() {
std::fstream file("example.txt", std::ios::in | std::ios::out); // 以读写模式打开文件
if (!file.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
std::string line;
while (std::getline(file, line)) { // 逐行读取文件内容
std::cout << line << std::endl;
file.seekp(-line.size() - 1, std::ios::cur); // 将写入位置回滚到当前行的开头
file << " (已修改)" << std::endl; // 在每行末尾添加文本
}
file.close(); // 关闭文件
return 0;
}
注意:在实际编程中,建议使用RAII(Resource Acquisition Is Initialization)技术,即在对象构造时获取资源,在对象析构时释放资源。这样可以确保即使在发生异常的情况下,资源也能被正确释放。在上面的示例中,可以使用std::ifstream和std::ofstream的局部对象来实现这一点。
以上就是关于“C++于Linux怎样处理文件操作”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm