C语言文件中,“rb”和“r”有什么区别?

文本文件和二进制文件有什么区别??
2024年11月06日 10:27
有4个网友回答
网友(1):

一、作用不同

1、rb:代表二进制文件,用来读写二进制文件。

2、r:代表文本文件,用来读写文本文件。

二、特点不同

1、rb:文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。

2、r:是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。


三、优劣不同

1、rb:二进制文件比较节约空间,这两者储存字符型数据时并没有差别。但是在储存数字,特别是实型数字时,二进制更节省空间。

2、r:文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要容易一些。


参考资料来源:百度百科-二进制文件

参考资料来源:百度百科-文本文件

网友(2):

"r"    为读而打开文本文件

"rb"  为读而打开二进制文件 


一般使用方式如下:

FILE *fp;  // 定义一个文件指针
fp=fopen(文件名,使用文件方式);   // 其中使用文件方式就是"r"或"rb"等方式


在读取一个磁盘文件时,文本方式读取到文件内容很有可能会比二进制文件短,因为文本方式读取要把回车,换行两个字符变成一个字符,相当于截短了文件。


文件文件(以文本方式写的),最好以文本方式读。二进制文件(以二进制方式写的),最好以二进制方式读。不然可能会不正确。

网友(3):

rb表示以二进制方式读取
r表示以文本方式读取
区别:文本文件可以用文本编辑软件直接打开(比如windows的NOTE);而二进制文件需要用debug等特殊工具打开。

网友(4):

rb表示以二进制读取