c语言fwrite写入中文linux,关于fwrite输出问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

补充下:这下面说的更详细。之前理解主要是unix下,windows下的编程较少。

下面的第二段描述了widows下的文本文件读写和unix下的细微区别~

-----------------------------------------------------

linux的文本文件与二进制文件的区分与windows的区分是相同的!

说到底计算机存储的文件都是以二进制形式存储的,但是区别是,习惯上认为:

(1)、文本文件

文本文件是包含用户可读信息的文件。这些文件以ASCII码方式存储,可显示和打印。文本文件的行不能包括空字符(即码中的NULL),行的最大长度(包括换行符在内)也不能超过(LINE_MAX)所定义的字节数。不过文本文件中并不限制使用除空字符以外的控制字符或其它不可打印字符。

(2)、二进制文件(实际上这种说法不准确,因为文本文件也是用二进制代码存放的,称为非文本文件比较好)

二进制文件是包含计算机可读信息的文件。二进制文件可以是可执行的文件,使系统根据其中的指令完成某项工作。命令和程序都是以可执行的而进制文件方式存储。二进制文件没有行的长度限制,也可包含空字符。

--------------------------------------另外一个补充(也就是unix 和dos文件格式转换经常出现的情况)---------------------------------------------------------------

在window中文本文件和二进制文件在处理回车换行符时是有区别的:文本方式写时,每遇到一个'\n'换行符,将其换成'\r\n'回车换行,然后再写入文件;当文本读取时,它每遇到一个'\r\n'回车换行,会将其反变化为'\n'换行。而二进制文件没有这样的转换处理。但在Linux中文本文件和二进制文件的处理上二者没有区别,例如在Linux中用fopen("a.txt","r")(文本方式打开)和fopen("a.txt","rb")(二进制方式打开)两个函数是一样的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值