本文主要是介绍c++:C++用fstream读写文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
fstream介绍
(1)fstream是C++标准库中面向对象库的一个,用于操作流式文件
(2)fstream本质上是一个class,提供file操作的一众方法
可以直接查看
man --version
man 2.10.2
在线查看:
https://cplusplus.com/reference/#google_vignette
https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5
需要添加头文件:
#include <fstream>
#include <cstring> // 用于strlen函数
// 打开文件进行读写和追加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:
// 打开文件进行读写和追加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;}
#elsecout << "======================" << 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读写文件
学习记录,侵权联系删除。
来源:朱老师物联网大课堂
这篇关于c++:C++用fstream读写文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!