重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言中的rb函数,r语言 c函数

c语言读取二进制数据文件

1、二进制文本使用fopen函数的二进制模式“rb”就可以打开。对于程序来说,不管后缀名如何,文件分为两种类型:文本文件和二进制文件。 C语言里有一系列文件操作函数。区分文本和二进制文件,需要在打开文件时设置不同的控制符mode的变量即可。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网页空间、营销软件、网站建设、兴国网站维护、网站推广。

2、fopen的函数原型:FILE * fopen(const char * path,const char * mode);

fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:

r 以只读方式打开文件,该文件必须存在。

r+ 以可读写方式打开文件,该文件必须存在。

rb+ 读写打开一个二进制文件,允许读数据。

rw+ 读写打开一个文本文件,允许读和写。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

wb 只写打开或新建一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。

wt+ 读写打开或着建立一个文本文件;允许读写。

at+ 读写打开一个文本文件,允许读或在文本末追加数据。

ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。

3、例程:

#include stdlib.h

#include stdio.h

int main ()

{

FILE * fpPhoto, * fpText, * fpTarget ;

int iRead ;

char szBuf[100] ;

printf ("请输入第一个文件名(jpg):\n") ;

gets (szBuf) ;

fpPhoto = fopen (szBuf, "rb") ;

printf ("请输入第二个文件名(txt):\n") ;

gets (szBuf) ;

fpText = fopen (szBuf, "rb") ;

printf ("请输入目的文件名(jpg):\n") ;

gets (szBuf) ;

fpTarget = fopen (szBuf, "wb") ;

if (!fpPhoto || !fpText || !fpTarget)

{

printf ("打开文件失败!\n") ;

system("pause") ;

return -1 ;

}

while ((iRead = fread (szBuf, 1, sizeof (szBuf), fpPhoto)) 0)

fwrite (szBuf, 1, iRead, fpTarget) ;

while ((iRead = fread (szBuf, 1, sizeof (szBuf), fpText)) 0)

fwrite (szBuf, 1, iRead, fpTarget) ;

fclose (fpPhoto) ;

fclose (fpText) ;

fclose (fpTarget) ;

return 0 ;

}

c语言中wb,rb是什么意思

wb代表二进制模式文件,允许写入文件,rb代表二进制模式,允许读取文件。

形态字符串都可以再加一个 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语言之文件打开模式

r : 读取文件,若文件不存在则会报错

w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件

a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾

rb,wb:分别于r,w类似,但是用于读写二进制文件

r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖

w+ : 可读,可写,文件不存在先创建,会覆盖

a+ :可读、可写,文件不存在先创建,不会覆盖,追加在末尾

参考资料来源:百度百科—c语言

参考资料来源:百度百科—fopen

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

一、作用不同

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

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

二、特点不同

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

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

三、优劣不同

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

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

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

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

c语言文件问题: 1."rb"与 "r"的含义分别是什么 2.while(!feof(fp))是什么意思?

"r".为读而打开文本文件.(不存在则出错)

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

while(!feof(fp)) 文件到尾判断

最常用的文件使用方式及其含义如下:

"r".为读而打开文本文件.(不存在则出错)

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

"w".为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖)

"wb".为写而打开二进制文件.

"a".为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)

"ab".为在文件后面添加数据而打开一个二进制文件.

"r+".为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后不变)

"rb+".为读和写而打开二进制文件.只是在随后的读写时,可以由位置函数设置读和写的起始位置.

"w+".首先建立一个新文件,进行写操作,随后可以从头开始读.(若文件存在,原内容将全部消失)

"wb+".功能与"w+"同.只是在随后的读写时,可以由位置函数设置读和写的起始位置.

"a+".功能与"a"相同;只是在文件尾部添加新的数据后,可以从头开始读.

"ab+".功能与"a+"相同;只是在文件尾部添加新数据之后,可以由位置函数设置开始读的起始位置.


网站栏目:c语言中的rb函数,r语言 c函数
URL网址:http://cqcxhl.com/article/dscijpe.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP