C++ 文件操作指南
为何文件操作重要?
文件操作允许程序与外部数据进行交互,使得数据的持久化存储成为可能。在实际应用中,文件操作可以用于配置文件、日志记录、数据存储等各种用途。
打开文件
在 C++ 中,使用 fstream
头文件来进行文件操作。打开文件可以使用 ifstream
用于读取,ofstream
用于写入,以及 fstream
用于读写。
#include <iostream>
#include <fstream>
int main() {
std::ofstream file("example.txt");
if (file.is_open()) {
// 文件已成功打开
// 在这里进行写入操作
file << "写入一些文本到文件\n";
file.close(); // 关闭文件
} else {
// 文件无法打开
std::cout << "无法打开文件\n";
}
return 0;
}
读取文件内容
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt");
if (file.is_open()) {
std::string line;
while (std::getline(file, line)) {
// 逐行读取文件内容
std::cout << line << std::endl;
}
file.close(); // 关闭文件
} else {
std::cout << "无法打开文件\n";
}
return 0;
}
文件定位指针
通过 seekg()
和 tellg()
函数,可以定位文件指针并查找特定位置的数据。
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt");
if (file.is_open()) {
file.seekg(0, std::ios::end); // 将指针移动到文件末尾
std::streampos length = file.tellg(); // 获取文件长度
file.seekg(0, std::ios::beg); // 将指针移回文件开头
char* buffer = new char[length];
file.read(buffer, length); // 读取整个文件内容到缓冲区
file.close();
std::cout << "文件内容:\n" << buffer << std::endl;
delete[] buffer;
} else {
std::cout << "无法打开文件\n";
}
return 0;
}