📅  最后修改于: 2023-12-03 14:59:49.123000             🧑  作者: Mango
在 C++ 中,我们可以通过文件处理来读写文件。文件处理是一种在磁盘上创建、读取、更新和删除数据的方式。
在 C++ 中打开文件需要使用 fstream
类型对象。打开文件的方式可以是输入、输出、以及同时输入输出。以下是一些示例:
#include <fstream>
using namespace std;
int main() {
ifstream file("example.txt");
if (!file.is_open()) {
cout << "Failed to open file." << endl;
} else {
// 文件已经成功打开,执行其他操作
}
file.close();
return 0;
}
#include <fstream>
using namespace std;
int main() {
ofstream file("example.txt");
if (!file.is_open()) {
cout << "Failed to open file." << endl;
} else {
// 文件已经成功打开,执行其他操作
}
file.close();
return 0;
}
#include <fstream>
using namespace std;
int main() {
fstream file("example.txt");
if (!file.is_open()) {
cout << "Failed to open file." << endl;
} else {
// 文件已经成功打开,执行其他操作
}
file.close();
return 0;
}
要将数据写入文件中,我们可以使用 <<
运算符将其写入 ofstream
对象。以下示例演示如何写入文本文件:
#include <fstream>
using namespace std;
int main() {
ofstream file("example.txt");
if (!file.is_open()) {
cout << "Failed to open file." << endl;
return 1;
}
file << "Hello, world!" << endl;
file.close();
return 0;
}
要从文件中读取数据,我们可以使用 >>
运算符将其读入 ifstream
对象。以下示例演示如何从文本文件中读取:
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ifstream file("example.txt");
if (!file.is_open()) {
cout << "Failed to open file." << endl;
return 1;
}
string line;
while (getline(file, line)) {
cout << line << endl;
}
file.close();
return 0;
}
在 C++ 中,每个文件都有一个文件位置指针,该指针指向下一个要读取或写入的位置。使用 seekg()
和 seekp()
函数可以修改文件位置指针。
#include <fstream>
#include <iostream>
using namespace std;
int main() {
fstream file("example.txt", ios::in | ios::out);
if (!file.is_open()) {
cout << "Failed to open file." << endl;
return 1;
}
// 将文件位置指针移动到第 5 个字符处
file.seekg(4);
string line;
getline(file, line);
cout << line << endl;
// 将文件位置指针移动到文件的结尾处
file.seekp(0, ios::end);
// 写入文本到文件的结尾
file << "This is a new line." << endl;
file.close();
return 0;
}
要在 C++ 中删除文件,我们可以使用 remove()
函数。以下是一个示例:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
if (remove("example.txt") != 0) {
cout << "Failed to delete file." << endl;
return 1;
} else {
cout << "File deleted successfully!" << endl;
return 0;
}
}
以上就是 C++ 文件处理的一些基础内容。开发人员应该熟悉这些技术,并在需要读取或写入文件时使用它们。