成长随心记6

今日心得:今天一大早心血来潮想着来刷一道算法题来,想着正好复习一下刚学的栈,觉得自己应该能在一个小时差不多解决吧,没想到两个小时过去了,还是调试不出来
在力扣上看别人的代码,发现一堆啥都不认识,什么容器Victor,一个栈的题目要用到哈希表,我表示我还没有学到啊,深深的感觉到自己的弱小,哎,还有很长的路要走啊。
今天是非常不顺利的一天,真正让我体验到了什么叫代码5分钟,debug两小时。

1,文件操作
    1)程序运行的时候一般是临时数据,程序一结束,数据消失
    2)所以通过文件操作可以使数据持久化
    3)文件操作必须包含头文件fstream
    读文件可以可以用ofstream或者fstream类
    打开文件是需要指定路径,以及打开方式
    利用<<可以向文件输入数据
    操作结束需要关闭文件

2,文件打开方式
    1)ios:in        读文件
    2)ios:out    写文件
    3)ios:ate        初始位置,文件尾
    4)ios:app    追加方式写文件
    5)ios:trunc    如果文件存在,先删除文件再创建文件
    6)iso:binary    二进制方式
    注意:ifs.isopen()用来判断文件是否打开成功

3,写文件基本步骤
    1)包含头文件fstream
    2)创建流对象ofstream ofs;
    3)打开文件ofs.open("文件路径",打开方式)//如果要追加打开方式用|隔开
    4)写入文件ofs>>“数据”
    5)关闭文件
    例:#include <fstream>
    int main()
    {
        ofstream ofs;
        ofs.open("text.txt", ios::out);
        ofs << "张三" << endl;
        ofs << "李四" << endl;
        ofs.close();
    }
4,三种读文件的基本操作
    1)包含头文件fstream
    2)创建流对象ifstream ifs;
    3)打开文件ifs.open("文件路径",打开方式);
    #include<fstream>
    int main()
    {
        ifstream ifs;
        ifs.open("text.txt", ios::in);
        /*char c;
        while ((c = ifs.get()) != EOF)
            cout << c;*/

        /*char buf[1000];  
        while (ifs.getline(buf, sizeof(buf)))//getline()读取一行数据
            cout << buf;*/

        /*char buf[1000];
        while (ifs >> buf)
            cout << buf;*/
        ifs.close();
    }

5,二进制写文件
    与上类似,所以直接上代码
    例:#include<fstream>
    class person {
    public:
        char name[10];
        int age;
    };
    int main()
    {
        ofstream ofs;
        ofs.open("text.txt", ios::out | ios::binary);
        person p = { "张三",18 };
        ofs.write((const char*)&p, sizeof(p));//write用来写文件
        ofs.read((const char*)&p, sizeof(p));//read用来读文件
        ofs.close();
    }    
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

噌105

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值