fstream介绍
(1)fstream是C++标准库中面向对象库的一个,用于操作流式文件
(2)fstream本质上是一个class,提供file操作的一众方法
可以直接查看
c
man --version
man 2.10.2
在线查看:
https://cplusplus.com/reference/#google_vignette
https://zh.cppreference.com/w/首页
需要添加头文件:
c
#include <fstream>
#include <cstring> // 用于strlen函数
c
// 打开文件进行读写和追加
fstream file;
file.open("example.txt", ios::in | ios::out | ios::app);
// 检查文件是否成功打开
if (!file.is_open()) {
cerr << "Unable to open file example.txt" << endl;
return 1; // 返回错误代码
}
// 写入文件内容
file << "Appending some text to the file." << endl;
// 将文件指针移动到文件开头以进行读取
file.seekg(0);
// 读取文件内容并输出
string line;
while (getline(file, line)) {
cout << line << endl;
}
// 关闭文件
file.close();
return 0;
open:
c
// 打开文件进行读写和追加
fstream file;
file.open("example.txt", ios::in | ios::out | ios::app);
// 检查文件是否成功打开
if (!file.is_open()) {
cerr << "Unable to open file example.txt" << endl;
return 1; // 返回错误代码
}
// 写入文件内容
file << "Appending some text to the file." << endl;
const char* str = "Hello, World!";
file.write(str, strlen(str));
// 使用 write 写入 std::string 对象
string str1 = "Hello, C++";
file.write(str1.c_str(), str1.size());
file << endl; // 写入换行符以区分不同写入操作
// 将文件指针移动到文件开头以进行读取
file.seekg(0);
#if 0
// 读取文件内容并输出
string line;
while (getline(file, line)) {
cout << line << endl;
}
#else
cout << "======================" << endl;
// 获取文件大小
file.seekg(0, ios::end);
streamsize size = file.tellg();
file.seekg(0, ios::beg);
// 创建缓冲区并读取文件内容
char* buffer = new char[size + 1];
file.read(buffer, size);
buffer[size] = '\0'; // 添加终止符
// 输出逐行读取的内容
char* line1 = strtok(buffer, "\n");
while (line1 != nullptr) {
cout << line1 << endl;
line1 = strtok(nullptr, "\n");//用于指定分割字符串的分隔符集合
}
// 清理并关闭文件
delete[] buffer;
#endif
// 关闭文件
file.close();
return 0;
总结
可以使用fstream读写文件
学习记录,侵权联系删除。
来源:朱老师物联网大课堂