C语言中r和rb读写文件的区别

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

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

一般使用方式如下:

1
2
FILE *fp;  // 定义一个<a href="https://www.baidu.com/s?wd=%E6%96%87%E4%BB%B6%E6%8C%87%E9%92%88&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YvnAfkrH0knWfvPARkPvm40ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPj0vrjnvrHRk" target="_blank" class="baidu-highlight">文件指针</a>
fp=fopen(文件名,使用文件方式);   // 其中使用文件方式就是"r"或"rb"等方式

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

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


rb为只读,对于不需要进行更新的文件,可以防止用户的错误的写回操作,防止损毁原有数据。具有较高的安全性~~~
rb+为更新二进制文件,可以读取,同时也可以写入,需要用到fseek之类的函数进行配合,以免出错~~~对于需要不时更新的文件,比如信息管理系统中的数据,可以这样打开。。。


猜你喜欢

转载自blog.csdn.net/ganbiaovip/article/details/79459508