根据标准IO,实现一个文件类,包含读取,写入,c++,fopen等方法,使用using namespace std,不用fstram
时间: 2024-12-16 13:14:57 浏览: 15
C++读取WAV音频文件的头部数据的实现方法
在C++中,我们可以创建一个简单的文件操作类FileHandler,利用`fstream`库来实现基本的读写功能。这里是一个基础的实现示例:
```cpp
#include <iostream>
#include <fstream>
class FileHandler {
public:
// 构造函数,接受文件名作为参数,并尝试打开文件
FileHandler(const std::string& filename) : file(filename) {
if (!file.is_open()) {
std::cerr << "Failed to open file: " << filename << std::endl;
throw std::runtime_error("File opening error");
}
using namespace std::ios; // 引入命名空间,避免每次使用std::ios_base::app
file.open(filename, ios_base::in | ios_base::out);
}
~FileHandler() { // 析构函数,关闭文件
file.close();
}
// 读取一行数据
std::string readLine() {
std::string line;
getline(file, line);
return line;
}
// 写入字符串到文件末尾
void write(const std::string& data) {
file << data << "\n"; // 添加换行符
}
private:
std::ifstream file; // 用于输入的流
};
// 使用示例
int main() {
try {
FileHandler handler("example.txt");
handler.write("Hello, this is a test.\n");
std::string content = handler.readLine(); // 读取第一行内容
std::cout << "Read from file: " << content << std::endl;
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
阅读全文