【入门级-C++程序设计:12.文件及基本读写-文本文件类型与二进制文件类型】

在 C++ 中,文件按照存储方式分为文本文件(text file)和二进制文件(binary file),它们在存储格式、读写方式和适用场景上有显著区别。
1、文本文件(Text Files)
特点
存储格式:以可读字符(ASCII 或 Unicode)形式存储数据。
换行符:不同系统使用不同的换行符(Windows:\r\n,Unix/Linux:\n)。
可读性:可以直接用文本编辑器打开查看。
适用场景
存储配置信息、日志、人类可读的数据(如 CSV、JSON)。
与其他程序或系统交换数据。
读写方式
使用 ifstream(输入)或 ofstream(输出),默认以文本模式打开:
应用举例:
#include
// 写入文本文件
ofstream outFile(“data.txt”);
outFile << “Hello, World!\n”; // 自动转换为系统特定的换行符
outFile << 12345; // 数字会被转换为字符序列 “12345”
outFile.close(); // 文件关闭
// 读取文本文件
ifstream inFile(“data.txt”);
string line;
getline(inFile, line); // 自动处理系统特定的换行符
int num;
inFile >> num; // 字符序列 “12345” 会被转换为整数
inFile.close(); // 文件关闭

2、二进制文件(Binary Files)
特点
存储格式:精确存储内存中的原始数据,以二进制位 形式存储数据,与内存中的表示完全一致。
无转换:不处理换行符或其他字符转换。
不可读性:适合存储结构化数据或原始字节,直接用文本编辑器打开会显示乱码。
适用场景
存储大量数据(如图片、音频、视频)。
快速读写或存储程序内部数据(如对象序列化)。
读写方式
使用 ifstream 或 ofstream,并指定 ios::binary 模式,通常使用 read() 和 write() 方法:
应用举例:
#include
struct Data {
int id;
float value;
};
// 写入二进制文件
Data obj = {42, 3.14f};
ofstream outFile(“data.bin”, ios::binary);
outFile.write(reinterpret_cast<const char*>(&obj), sizeof(obj));
outFile.close();
// 读取二进制文件
Data readObj;
ifstream inFile(“data.bin”, ios::binary);
inFile.read(reinterpret_cast<char*>(&readObj), sizeof(readObj));
inFile.close();

3、文本文件与二进制文件的本质区别
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

papership

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

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

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

打赏作者

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

抵扣说明:

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

余额充值