问题涉及C++中的流类(stream classes)和文件操作,假设你已经创建了一个名为"example.txt"的文件。
1.iostream
iostream
:这是一个带有输入和输出功能的流类。它同时继承了istream(输入流)和ostream(输出流)类的特性。
#include <iostream>
int main() {
int num;
std::cout << "Enter a number: ";
std::cin >> num; // 从控制台读取输入
std::cout << "You entered: " << num << std::endl; // 将数据输出到控制台
return 0;
}
2.ifsream
ifstream
:该类用于从文件中读取数据。它是istream(输入流)类的派生类。使用ifstream
时,你可以打开一个文件并从中读取数据。
#include <iostream>
#include <fstream>
int main() {
std::ifstream inputFile("example.txt"); // 打开名为example.txt的文件
if (inputFile) {
std::string line;
while (std::getline(inputFile, line)) { // 使用getline逐行读取文件内容
std::cout << line << std::endl;
}
inputFile.close(); // 关闭文件
}
return 0;
}
3.ofstream
ofstream
:该类用于向文件中写入数据。它是ostream(输出流)类的派生类。你可以使用ofstream
打开一个文件并将数据写入其中。
#include <iostream>
#include <fstream>
int main() {
std::ofstream outputFile("example.txt"); // 打开或创建一个名为example.txt的文件
if (outputFile) {
outputFile << "Hello, World!" << std::endl; // 向文件中写入数据
outputFile << "This is an example." << std::endl;
outputFile.close(); // 关闭文件
}
return 0;
}
4.fstream
fstream
:这是一个将输入和输出功能结合在一起的类。它同时继承了ifstream(用于读取操作)和ofstream(用于写入操作)类的特性。
#include <iostream>
#include <fstream>
int main() {
std::fstream file("example.txt", std::ios::in | std::ios::out); // 打开一个名为example.txt的文件
if (file) {
std::string line;
while (std::getline(file, line)) { // 从文件中逐行读取内容
std::cout << line << std::endl;
}
file.seekp(0, std::ios::end); // 将写入指针定位到文件末尾
file << "New line added."; // 向文件末尾写入新内容
file.close(); // 关闭文件
}
return 0;
}