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

C++学习 --文件

文件操作步骤:

1, 包含头文件#include<fstream>

2, 创建流对象:ofstream ofs

3, 打开文件:ofs.open("文件路径", 打开方式)

4, 写数据:ofs << "写入数据"

5, 关闭文件:ofs.close()

        打开方式:ios::in 读文件打开, ios:out,写文件打开, ios::ate, 打开文件, 定位到尾部

ios::trunc, 如果文件存在先删除, 在创建, ios::binary, 二进制文件

1, 写文件

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
#include <set>
#include <fstream>using namespace std;void test()
{	ofstream aaa;aaa.open("test.txt", ios::out);aaa << "张三, 28";aaa.close();
}int main()
{	test();system("pause");return 0;
}

2, 读文件

ifstream aaa;
aaa.open("test.txt", ios::in);//第一种方式
/*char buf [1024] = { 0 };
while (aaa >> buf)
{cout << buf;
}*///第二种方式
/*char buf[1024] = { 0 };
while (aaa.getline(buf, sizeof(buf)))
{cout << buf;
}*///第三种方式
/*string buf;
while (getline(aaa, buf))
{cout << buf;
}*///第四种方式
char c;
while ((c = aaa.get()) != EOF)
{cout << c;
}

3, 二进制文件

3-1, 写文件

class Person
{
public:char m_name[64];int m_age;
};void test()
{	Person p = { "张三", 18 };ofstream aaa("test1.txt", ios::out | ios::binary);//aaa.open("test1.txt", ios::out | ios::binary);aaa.write((const char*)&p, sizeof(Person));aaa.close();
}

3-2, 读文件

class Person
{
public:char m_name[64];int m_age;
};void test()
{	Person p;ifstream aaa("test1.txt", ios::out | ios::binary);//aaa.open("test1.txt", ios::out | ios::binary);aaa.read((char*)&p, sizeof(Person));cout << p.m_name << endl;cout << p.m_age << endl;aaa.close();
}

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

相关文章:

  • java/Android:将字符串按数量分割
  • JVM 监控命令详解
  • TEE威胁评分与评级
  • -bash: ./deploy.sh: /bin/bash^M: bad interpreter: No such file or directory
  • 【文末送书】十大排序算法C++代码实现
  • vue-waterfall2 实现瀑布流,及总结的问题
  • grafana二次启动失败
  • C/C++杂谈-printf的可变参数机制
  • es基本语法 (kibana)
  • Tesco EDI需求分析
  • html常用的标签
  • 4.14每日一题(二元函数求极值:常规方法、先代后求法)
  • 护眼灯什么价位的好?适合学生入手的护眼台灯推荐
  • 大数据架构
  • 【Linux】C文件系统详解(四)——磁盘的物理和抽象结构
  • 论文-分布式-拜占庭将军问题
  • 万字解析设计模式之 适配器模式
  • Linux 安全 - 扩展属性xattr
  • spring boot加mybatis puls实现,在新增/修改时,对某些字段进行处理,使用的@TableField()或者AOP @Before
  • 我的创作纪念日2048天
  • MatrixOne实战系列回顾 | 导入导出项目场景实践
  • Find My音箱|苹果Find My技术与音箱结合,智能防丢,全球定位
  • 51单片机应用
  • 系列三、ThreadLocal vs synchronized
  • 封装Redis工具类
  • 使用 millis() 函数作为延迟的替代方法(电位器控制延迟时间)
  • MySQL之BETWEEN AND包含范围查询总结
  • 4.3、Linux进程(2)
  • element-ui组件输入框之放大镜(搜索图标)
  • [oeasy]python001_先跑起来_python_三大系统选择_windows_mac_linux