当前位置: 首页 > news >正文

C++文件操作->文本文件(->写文件、读文件)、二进制文件(->写文件、读文件)

#include<iostream>
using namespace std;
#include <fstream>//头文件包含

//文本文件 写文件
void test01()
{
    //1.包含头文件  fstream

    //2.创建流对象
    ofstream ofs;
    //3.指定打开方式
    ofs.open("test.txt", ios::out);
    //4.写内容
    ofs << "姓名:张三" << endl;
    ofs << "性别:男" << endl;
    ofs << "年龄:18" << endl;
    //5.关闭文件
    ofs.close();
}

int main() {

    test01();

    system("pause");
    return 0;
}

总结:

* 文件操作必须包含头文件 fstream
* 写文件可以利用 ofstream  ,或者fstream类
* 打开文件时候需要指定操作文件的路径,以及打开方式
* 利用<<可以向文件中写数据
* 操作完毕,要关闭文件

#include<iostream>
using namespace std;
#include <string>
#include <fstream>//头文件包含

//文本文件  读文件
void test01()
{
    //1.包含头文件

    //2.创建流对象
    ifstream ifs;
    //3.打开文件  并且判断是否打开成功
    ifs.open("test.txt", ios::in);

    if (!ifs.is_open())
    {
        cout << "文件打开失败" << endl;
        return;
    }
    //4.读数据

    //第一种方式
    //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)//EOF end of file文件尾部的标准
    {
        cout << c;
    }
    //5.关闭文件
    ifs.close();

}

int main() {

    test01();

    system("pause");

    return 0;
}

总结:

- 读文件可以利用 ifstream  ,或者fstream类
- 利用is_open函数可以判断文件是否打开成功
- close 关闭文件

#include<iostream>
using namespace std;
#include <string>
#include <fstream>//头文件包含

//二进制文件  写文件
class Person
{
public:
    char m_Name[64];//姓名
    int m_Age;//年龄
};

void test01()
{
    //1、包含头文件

    //2、创建流对象
    ofstream ofs("person.txt", ios::out | ios::binary);
    
    //3、打开文件
    //ofs.open("person.txt", ios::out | ios::binary);

    //4、写文件
    Person p = {"张三"  , 18};
    ofs.write((const char *)&p, sizeof(p));

    //5、关闭文件
    ofs.close();
}

int main()
{

    test01();

    system("pause");

    return 0;
}

总结:

* 文件输出流对象 可以通过write函数,以二进制方式写数据

#include<iostream>
using namespace std;
#include <string>
#include <fstream>//头文件包含

//二进制文件  读文件
class Person
{
public:
    char m_Name[64];//姓名
    int m_Age;//年龄
};

void test01()
{
    //1.包含头文件

    //2.创建流对象
    ifstream ifs("person.txt", ios::in | ios::binary);
    //3.打开文件  判断文件是否打开成功
    if (!ifs.is_open())
    {
        cout << "文件打开失败" << endl;
    }
    //4.读文件
    Person p;
    ifs.read((char *)&p, sizeof(p));
    cout << "姓名: " << p.m_Name << " 年龄: " << p.m_Age << endl;
    //5.关闭文件
    ifs.close();
}

int main() {

    test01();

    system("pause");

    return 0;
}

总结- 文件输入流对象 可以通过read函数,以二进制方式读数据

http://www.lryc.cn/news/301641.html

相关文章:

  • Mac相关问题
  • Python爬虫之Splash详解
  • Deep深度系统下载安装Beyond compare4
  • Qt 使用QScintilla 编辑lua 脚本
  • 2022长安杯复现
  • Netty Review - NioEventLoopGroup源码解析
  • 团队配置管理规范浅见
  • 「算法」二分查找1:理论细节
  • 【网络安全】什么样的人适合学?该怎么学?
  • 从零开始学习数据结构—【链表】—【探索环形链的设计之美】
  • AJAX——HTTP协议
  • java面试微服务篇
  • JS进阶——垃圾回收机制以及算法
  • 【快速解决】python项目打包成exe文件——vscode软件
  • 数据结构——lesson3单链表介绍及实现
  • 中科大计网学习记录笔记(八):FTP | EMail
  • QPaint绘制自定义坐标轴组件00
  • MATLAB|基于改进二进制粒子群算法的含需求响应机组组合问题研究(含文献和源码)
  • JDBC核心技术
  • 【天幕系列 02】开源力量:揭示开源软件如何成为技术演进与社会发展的引擎
  • “挖矿”系列:细说Python、conda 和 pip 之间的关系
  • 【自然语言处理】实验3,文本情感分析
  • 2.12日学习打卡----初学RocketMQ(三)
  • <网络安全>《35 网络攻防专业课<第一课 - 网络攻防准备>》
  • 【实战】一、Jest 前端自动化测试框架基础入门(一) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(一)
  • 蓝桥杯Java组备赛(二)
  • 人力资源智能化管理项目(day10:首页开发以及上线部署)
  • Conda管理Python不同版本教程
  • free pascal:fpwebview 组件通过 JSBridge 调用本机TTS
  • 数据结构——单链表专题