专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

fopen函数怎么用,fopen函数用法详解

来源:小易整编  作者:小易  发布时间:2023-03-22 04:56
摘要:fopen函数怎么用,fopen函数用法详解C语言中文件操作,即文件打开,文件写入、文件读取、文件关闭等。在使用这些功能时,需要了解其基本的使用规则,如:文件读写前,必须先使用fopen函数打开文件。使用fopen打开时,还要指明文件的打开...

fopen函数怎么用,fopen函数用法详解

fopen函数怎么用,fopen函数用法详解

C语言中文件操作,即文件打开,文件写入、文件读取、文件关闭等。

在使用这些功能时,需要了解其基本的使用规则,如:

文件读写前,必须先使用fopen函数打开文件。

使用fopen打开时,还要指明文件的打开的参数,是要读呢还是写呢?这些参数如果不注意,比如直接使用"w"参数打开一个已存在的文件,则里面的内容会先被清空,如果还想要之前的文件中的内容,那也已经被清空了!

01

文件操作基础函数

fopen

若要对文件进行读写操作,第一步需要使用fopen()函数

fopen()函数用于打开指定路径的文件,获取指向该文件的指针

函数原型:

/** @func:  fopen *   @brief: 打开文件 *   @para:  [path]:文件路径,如:"E:\Test\test.txt" *           [mode]:文件打开方式(r w a r+ w+ a+ rb wb ab ...具体见下面表格) *   @return:文件打开成功,则指向该流的文件指针就会被返回 *           文件打开失败,则返回NULL,并把错误代码存在errno中 */ FILE * fopen(const char * path,const char * mode);

fopen打开方式的参数

打开文件的参数,一共6种符号,包括2部分,第1部分的指定读还是写(r\w\a),第2部分指定是对第1部分的补充(t/b/+)

  • 参数第1部分(r\w\a)

字符

含义

解释

rread只读(打开文件),文件必须存在
wwrite只写(创建文件),文件若已存在,则文件会先被清空
aappend末尾追加写入,文件若不存在,则先创建
  • 参数第2部分(t\b\+)
字符含义解释
ttext读写文本文件
bbinary读写二进制文件
+read/write即能读也能写

注意:

参数第1部分的必须要有的,第2部分可以省略,但省略后,会有其默认的含义

未指明是读文本还是二进制,则默认为读文本文件

默认规则:

"r" = "rt", 因为默认打开text "w" = "wt", 因为默认打开text "a" = "at", 因为默认打开text "r+" = "rt+", 因为默认打开text "w+" = "wt+", 因为默认打开text "a+" = "at+", 因为默认打开text

思考:

疑问1:r+与w+的作用有区别吗?

r表示读,w表示写,都补充一个+,表示既能读也能写,看起来作用好像是一样。

但,区别就在于第1部分的r与w,一个是文件必须存在,一个是不存在则会先创建

疑问2:w与w+的作用有区别吗?a与a+的作用有区别吗?

w表示擦除写入,a表示追加写入,都补充一个+,赋予它们读的功能

w和a既然都能写了,还不能读吗,还要添加一个+才能读?是的!

fread

函数原型:

/** @func:  fread *   @brief: 从文件读取 *   @para:  [buffer]:指向数据块的指针 *           [size]:每个数据的大小,单位为Byte(例如:sizeof(int)就是4) *           [count]:数据个数 *           [stream]:文件指针,如fp *   @return:实际读取的个数 */ size_t fread(void *buffer, size_t size, size_t count, FILE *stream);

fread的返回值随着调用格式的不同而不同:

调用格式1:fread(buf,sizeof(buf),1,fp);,将整个buf数据作为1个数据读取,则读取的个数是1

读取成功返回值为1

调用格式2:fread(buf,1,sizeof(buf),fp);,将1Byte作为1个数据读取,则读取个数是sizeof(buf)

读取成功返回实际写入的数据个数(单位为Byte)

fwrite


本文地址:百科问答频道 https://www.neebe.cn/wenda/936283.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • fopen函数怎么用,fopen函数用法详解

    fopen函数怎么用,fopen函数用法详解

    fopen函数怎么用,fopen函数用法详解C语言中文件操作,即文件打开,文件写入、文件读取、文件关闭等。在使用这些功能时,需要了解其基本的使用规则,如:文件读写前,必须先使用fopen函数打开文件。使用fopen打开时,还要指明文件的打开...

  • 周排行
  • 月排行
  • 年排行

精彩推荐