在C中,fp = fopen(文件名,“rb”); rb是什么意思?

时间:2019-09-20 来源:365bet体育足球 作者:365bet体育在线滚球
展开全部
读写会打开一个二进制文件,只允许读写数据。
原型:FILE * fopen(constchar path *,constchar mode *);相关函数:open,fclose,fopen_s,_wfopen返回值:文件成功打开后,文件指针返回到序列。
如果无法打开文件,则返回NULL并且errno参数描述中存在错误代码。参数路径字符串包括文件路径和要打开的文件的名称,以及参数模式字符串。表示流模式。
r以只读方式打开文件。该文件必须存在。
r +必须以读/写模式打开文件,该文件必须存在。
Rb +读写会打开一个可以读写数据的二进制文件。该文件必须存在。
w打开只写文件。如果文件存在,则删除长度为0的文件。换句话说,文件的内容将消失。
如果该文件不存在,则将创建该文件。
w +打开可读写文件。如果文件存在,则文件的长度将删除为零。换句话说,文件的内容将消失。
如果该文件不存在,则将创建该文件。
a打开其他只写文件。
如果该文件不存在,则将创建该文件。如果文件存在,则写入的数据将附加到文件的末尾。也就是说,保留了文件的原始内容。
(EOF字符保留)a +打开可以读写的其他文件。
如果该文件不存在,则将创建该文件。如果文件存在,则写入的数据将附加到文件的末尾。也就是说,保留了文件的原始内容。
(原始EOF字符未保留)wb只是打开写入或创建新的二进制文件。只允许写入数据。
Wb +读写打开或创建一个允许读写的二进制文件。
Ab +读取打开二进制文件,可以读取数据并将其附加到文件末尾。
Wx创建一个只允许写入数据的文本文件。
[C11]wbx创建一个只允许写入数据的二进制文件。
[C11]w + x创建一个允许读写的文本文件。
[C11]wb + x创建一个允许读写的二进制文件。
[C11]w + bx与wb + x相同以[C11]x结尾的模式是独占模式。Fopen失败,因为文件已存在或无法创建(通常路径不正确)。
该文件以与操作系统兼容的独占模式打开。
[C11]先前的形态链可以加上字母b,例如rb,w + b或ab +。字母b用于指示函数库以二进制模式打开文件。
如果未添加b,则默认添加t。也就是说,rt,wt。t表示以文本模式打开文件。
对于由fopen()创建的新文件,允许S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH(0666)。此文件权限也引用umask值。
某些C编译器系统可能无法提供所有这些功能。某些版本的C不使用r +,w +,a +,但使用rw,wr,ar等,因此读者会注意所使用系统的规则。


------分隔线----------------------------