ファイル操作は、C++でどのように行いますか?
C++でファイル操作を行う場合、通常はヘッダーファイルを含める必要があります。以下は一般的に使用されるファイル操作関数です。
- ファイルを開く。
#include <fstream>
#include <iostream>
int main() {
std::ifstream file("input.txt"); // 打开一个文件用于读取
//std::ofstream file("output.txt"); // 打开一个文件用于写入
//std::fstream file("file.txt"); // 打开一个文件用于读写
if(file.is_open()) {
std::cout << "文件打开成功" << std::endl;
} else {
std::cout << "文件打开失败" << std::endl;
}
file.close(); // 关闭文件
return 0;
}
- ファイルの内容を読み込む:
#include <fstream>
#include <iostream>
int main() {
std::ifstream file("input.txt");
if(file.is_open()) {
std::string line;
while(std::getline(file, line)) {
std::cout << line << std::endl;
}
} else {
std::cout << "文件打开失败" << std::endl;
}
file.close();
return 0;
}
- ファイルに書き込んでください。
#include <fstream>
#include <iostream>
int main() {
std::ofstream file("output.txt");
if(file.is_open()) {
file << "Hello, World!" << std::endl;
} else {
std::cout << "文件打开失败" << std::endl;
}
file.close();
return 0;
}
- 指定された位置でファイルの読み書きを行います。
#include <fstream>
#include <iostream>
int main() {
std::fstream file("file.txt");
if(file.is_open()) {
file.seekp(5); // 将写入位置定位到第5个字符
file << "Hello";
file.seekg(0); // 将读取位置定位到开头
std::string content;
file >> content;
std::cout << content << std::endl;
} else {
std::cout << "文件打开失败" << std::endl;
}
file.close();
return 0;
}
これらはC++でよく使用されるファイル操作関数で、具体的な要件に応じて呼び出すことができます。