博客
关于我
C++研发 核心篇 第五讲 【文件操作】
阅读量:67 次
发布时间:2019-02-25

本文共 2564 字,大约阅读时间需要 8 分钟。

5 ????

??????????????????????????????????????????????????????????????????C++????????????? <fstream>?

???????????

  • ???????????ASCII???????????
  • ??????????????????????????????????????
  • ????????

    ????????????

  • ofstream??????????
  • ifstream??????????
  • fstream??????????
  • 5.1 ??????

    5.1.1 ???

    ?????????

  • ??????#include <fstream>?
  • ??????ofstream ofs;?
  • ?????ofs.open("????", ????);?
  • ?????ofs << "?????";?
  • ?????ofs.close();?
  • ???????????????????????

    ???? ??
    ios::in ?????
    ios::out ?????
    ios::ate ?????????
    ios::app ???????
    ios::trunc ?????????????????
    ios::binary ???????????

    ???

    #include 
    #include
    void test01() { ofstream ofs("test.txt", ios::out); ofs << "?????" << endl; ofs << "????" << endl; ofs << "???18" << endl; ofs.close();}int main() { test01(); system("pause"); return 0;}

    5.1.2 ???

    ?????????

  • ??????#include <fstream>?
  • ??????ifstream ifs;?
  • ?????ifs.open("????", ????);?
  • ??????????????????
  • ?????ifs.close();?
  • ???

    #include 
    #include
    void test01() { ifstream ifs("test.txt", ios::in); if (!ifs.is_open()) { cout << "??????" << endl; return; } // ???????????? char buf[1024] = {0}; while (ifs >> buf) { cout << buf << endl; } // ???? char buf[1024] = {0}; while (ifs.getline(buf, sizeof(buf))) { cout << buf << endl; } // ????????? string buf; while (getline(ifs, buf)) { cout << buf << endl; } char c; while ((c = ifs.get()) != EOF) { cout << c; } ifs.close();}int main() { test01(); system("pause"); return 0;}

    5.2 ???????

    5.2.1 ???

    ??????????????????write???????????

    ostream& write(const char* buffer, int len);

    ???

    #include 
    #include
    struct Person { char m_Name[64]; int m_Age;};void test01() { ofstream ofs("person.txt", ios::out | ios::binary); Person p = {"??", 18}; ofs.write((const char*)&p, sizeof(p)); ofs.close();}int main() { test01(); system("pause"); return 0;}

    5.2.2 ???

    ??????????????????read???????????

    istream& read(char* buffer, int len);

    ???

    #include 
    #include
    struct Person { char m_Name[64]; int m_Age;};void test01() { ifstream ifs("person.txt", ios::in | ios::binary); if (!ifs.is_open()) { cout << "??????" << endl; return; } Person p; ifs.read((char*)&p, sizeof(p)); cout << "??? " << p.m_Name << " ??? " << p.m_Age << endl; ifs.close();}int main() { test01(); system("pause"); return 0;}

    ?????????????????????????????????

    转载地址:http://bke.baihongyu.com/

    你可能感兴趣的文章
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>
    python 倒计时 9,8,7,。。。。。。0
    查看>>
    Python 入门开发学习笔记之数据的增删改查
    查看>>
    Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
    查看>>
    Python 八大排序算法合集
    查看>>
    python 关于epoll的学习
    查看>>
    Python 内存管理
    查看>>
    Python 内嵌函数:它们有什么用处?
    查看>>
    Python 内置 sum 函数 vs. for 循环性能
    查看>>
    python 内置slice的用法
    查看>>