qidao123.com技术社区-IT企服评测·应用市场

标题: C++ 文本读写与二进制读写的底层机制 [打印本页]

作者: 商道如狼道    时间: 5 天前
标题: C++ 文本读写与二进制读写的底层机制
1.文件的打开方式

1.文本打开
在windows中,写入时会将\n换成\r\n,读出时\r\n会读出\n
linux对\n读写不做处理
2.二进制打开
对\n读写不做处理

2.文本读写

1.数据要先变成字符串再写进缓冲区
2.字符串直接写进缓冲区就是
3.c++对文本读写的支持
istream/ostream中重载了对内置类型的<<和>>,可以把内置类型变成字符串再写入缓冲区
对于自定义类型,需要用友元自己重载<<和>>

3.二进制读写

1.直接对字节举行读写
2.c++对二进制读写的支持
istream/ostream的write可以从特定位置读n个字节并写入,read可以从缓冲区读n个字节写入所给的缓冲区

4.文件打开方式和文件读写方式不一样

看了上面我们就能发现,文件的打开方式和真实文件读写方式其实还真可以不一样,打开方式只会影响\n并且还只有windows文本打开时有这个破规矩,而真实读写方式实际上是由读写时调用的接口决定的,调的是<<和>>这种会举行把数据变成字符串的接口那不就是文本读写,调的是write和read这种对字节直接举行读写的接口,那不就是二进制读写吗?
当然你像如果是读写字符串那不管是<<照旧write实际上都一样
只管可以打开方式和读写方式不一样,但我们推荐对应着用

C++语言中的文本读写和二进制读写接口

C++通过尺度库<fstream>提供了更面向对象的文件读写方式,比C语言的接口更加类型安全且易于使用。以下是主要的接口:
文本读写接口

二进制读写接口

通用文件操作


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4