博客
关于我
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/

    你可能感兴趣的文章
    oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
    查看>>
    oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
    查看>>
    oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
    查看>>
    oracle--用户,权限,角色的管理
    查看>>
    Oracle-定时任务-JOB
    查看>>
    oracle00205报错,Oracle控制文件损坏报错场景
    查看>>
    Oracle10g EM乱码之快速解决
    查看>>
    Oracle10g下载地址--多平台下的32位和64位
    查看>>
    Oracle10g安装了11g的ODAC后,PL/SQL连接提示TNS:无法解析指定的连接标识符
    查看>>
    oracle11g dataguard物理备库搭建(关闭主库cp数据文件到备库)
    查看>>
    Oracle11G基本操作
    查看>>
    Oracle11g服务详细介绍及哪些服务是必须开启的?
    查看>>
    Oracle11g静默安装dbca,netca报错处理--直接跟换操作系统
    查看>>
    oracle12安装软件后安装数据库,然后需要自己配置监听
    查看>>
    Oracle——08PL/SQL简介,基本程序结构和语句
    查看>>
    Oracle——distinct的用法
    查看>>
    Oracle、MySQL、SQL Server架构大对比
    查看>>
    oracle下的OVER(PARTITION BY)函数介绍
    查看>>
    Oracle中DATE数据相减问题
    查看>>
    Oracle中merge into的使用
    查看>>