c++ 读写文本文件

  1 #include  
  2 #include     // 读写文件的头文件
  3 #include <string>
  4 using namespace std;
  5 /*
  6  1 文本文件 写文件
  7      1 包含头文件
  8             #include 
  9      2 创建流对象
 10             ofstream ofs;
 11      3 指定路径和打开方式
 12             ofs.open(路径, 打开方式);
 13         打开方式:
 14             ios::in        读文件打开
 15             ios::out    写文件打开
 16             ios::ate    从文件尾打开
 17             ios::app    追加方式打开
 18             ios::trunc    如果已经有文件 先删除在撞见
 19             ios::binary    二进制方式
 20      4 写内容
 21              ofs << "写点数据" << endl;
 22      5 关闭文件
 23             ofs.close();
 24 */
 25 void write() {
 26     // 1 包含头文件 #include 
 27     // 2 创建流对象
 28     ofstream ofs;
 29     // 3 指定路径和打开方式 
 30     ofs.open("text.txt", ios::out);
 31     // 4 写内容
 32     ofs << "写点数据" << endl;
 33     ofs << "写点数据2" << endl;
 34     ofs << "写点数据3" << endl;
 35
 36     // 5 关闭文件
 37     ofs.close();
 38 }
 39
 40 /*
 41 2 文本文件 读文件
 42      1 包含头文件
 43             #include 
 44      2 创建流对象
 45             ifstream ifs;
 46      3 指定路径和打开方式
 47             ifs.open(路径, 打开方式);
 48         打开方式:
 49             ios::in        读文件打开
 50             ios::out    写文件打开
 51             ios::ate    从文件尾打开
 52             ios::app    追加方式打开
 53             ios::trunc    如果已经有文件 先删除在撞见
 54             ios::binary    二进制方式
 55      4 读取 四种方式
 56             ifs << "写点数据" << endl;
 57      5 关闭文件
 58             ifs.close();
 59 */
 60
 61 void read() {
 62     // 1 头文件
 63     // 2 创建流对象
 64     ifstream ifs;
 65     // 3 打开文件 判断是否打开成功
 66     ifs.open("text.txt", ios::in);
 67     if (!ifs.is_open()) {
 68         cout << "文件打开失败!" << endl;
 69         return;
 70     }
 71     // 4 读数据 四种方式
 72     // 第一种方式
 73     //char buf[1024] = { 0 };
 74     //while (ifs >> buf) {
 75     //    cout << buf << endl;
 76     //}
 77
 78     // 第二种
 79     //char buf[1024];
 80     //while (ifs.getline(buf, sizeof(buf))) {
 81     //    cout << buf << endl;
 82     //}
 83
 84     // 第三种
 85     //string buf;
 86     //while (getline(ifs, buf)) {
 87     //    cout << buf << endl;
 88     //}
 89
 90     // 第四种 不推荐用
 91     char c;
 92     while ((c=ifs.get()) != EOF) {
 93         cout << c;
 94     }
 95
 96
 97     // 5 关闭流
 98     ifs.close();
 99 }
100
101 int main() {
102
103     read();
104
105     system("pause");
106     return 0;
107 }

Original: https://www.cnblogs.com/Lin-Yi/p/11071822.html
Author: 稀里糊涂林老冷
Title: c++ 读写文本文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535300/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【面试攻略】C++面试-边锋

    2020-11-26-边锋 1.说说你以前的架构2.C++11特性,好像问到了这个constexpr https://www.jianshu.com/p/5480c4a35d1d3…

    C++ 2023年5月29日
    061
  • 开个坑, 写个阿里云开放储存服务(OSS)的C++版SDK以及客户端

    这应该是继我研究手册QQ协议后的第2个稍微正式一点的网络程序, 不只是Scoket套接字编程, 还涉及到更多的HTTP协议知识! 阿里云开放储存服务OSS官方已经提供了不少SDK,…

    C++ 2023年5月29日
    071
  • C++11 静态断言 static_assert

    我们知道,C++现有的标准中就有assert、#error两个方法是用来检查错误的,除此而外还有一些第三方的静态断言实现。 assert是运行期断言,它用来发现运行期间的错误,不能…

    C++ 2023年5月29日
    051
  • VSCode C++使用-1 快速创建C++、C项目

    1、安装C/C++ Project Generator2、Ctrl+Shift+P 选择Create C++ Project3、生成一个支持windows,linux多个平台的项目…

    C++ 2023年5月29日
    049
  • 【转】C++11 新特性总结

    其他路径: CSDN: https://blog.csdn.net/wodehao0808 微信公众号:程序喵星人 更多资源和视频教程,QQ:1902686547 前言 转载请注明…

    C++ 2023年5月29日
    068
  • Embarcadero 发布开源Bloodshed Dev C++ 分支

    Bloodshed Dev C++ 是一个老牌、小巧、快速的开源C++ IDE,它是用delphi 6开发的,从2000年开始 已经被下载过了67,796,885次。是学校、单位学…

    C++ 2023年5月29日
    060
  • [转]C++ 类中的static成员的初始化和特点

    在C++的类中有些成员变量初始化和一般数据类型的成员变量有所不同。以下测试编译环境为: cpp;gutter:true; ➜ g++ -v Using built-in specs…

    C++ 2023年5月29日
    065
  • C++ d-bus 使用实例

    因为以后工作用的到D-bus,这两天抽空看了下c++下得d-bus的使用方法。因为网上对c++下得d-bus使用说明几乎没有,所以,在这里记录下以供同仁使用。同时感谢shengpe…

    C++ 2023年5月29日
    063
  • 采用C++17新标准 “共享锁”和“独占锁”更低消耗更好性能地保护不常更新的共享数据

    用到的标准库: std::shared_lock<>、 std::shared_mutex、 std::lock_guard<>。 另外还有 std::sh…

    C++ 2023年5月29日
    065
  • c++11 thread

    官方例子 // thread example #include // std::cout #include // std::thread #include using namesp…

    C++ 2023年5月29日
    073
  • C++ 内联函数解析(inline)

    inline是C++语言中的一个关键字,可以用于程序中定义内联函数,inline的引进使内联函数的定义更加简单。说到内联函数,这里给出比较常见的定义,内联函数是C++中的一种特殊函…

    C++ 2023年5月29日
    046
  • C/C++ 回调函数(Callback)& 函数指针

    摘要:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的…

    C++ 2023年5月29日
    055
  • C++经典案例

    per-thread的单例模式 //单例子模式,per-thread的单例模式 IPCThreadState* IPCThreadState::self() //IPCThread…

    C++ 2023年5月29日
    058
  • C++11 之 override

    公有继承包含两部分:一是 “函数接口” (interface),二是 “函数实现” (implementation) 如 Shape…

    C++ 2023年5月29日
    051
  • 2022年第十三届蓝桥杯C++B组国赛思路以及部分代码

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    C++ 2023年5月29日
    051
  • C++STL之双端队列容器

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/huashanqingzhu/p/12832819.ht…

    C++ 2023年5月29日
    066
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球