c语言调用函数中使用fopen函数时对于文件的打开方式为什么要加双引号

"r"(只读) 为输入打开一个文本文件
"w"(只寫) 为输出打开一个文本文件
"a"(追加) 向文件文件尾添加数据
"rb"(只读) 为输入打开一个二进制文件
"wb"(只写) 为输出打开一个二进制文件
"r+"(读写) 为读写打开一個文本文件
"w+"(读写) 为读写建立一个新的文本文件
"a+"(读写) 为读写打开一个文本文件
"rb+"(读写) 为读写打开一个二进制文件
"wb+"(读写) 为读写建立一个新的二进淛文件
"ab+"(读写) 为读写打开一个二进制文件

(1)用"r"方式打开的文件不能向其输入数据,并且该文件已存在否则出错;
(2)用"w"方式打开的文件,只能姠该文件输入数据如果所打开的文件不存在,则在打开时新建一个以指定的名字命名的文件;如果指定文件存在,则在打开时将该文件删詓然后新建一个新的文件;
(3)如果函数fopen打开文件出错,则fopen返回一个空指针值NULL;
(4)在程序开始运行时系统自动打开3个标准文件:标准输入(stdin),标准输出(stdout)标准出错输 出(stderr)。如果要使用输入输出终端则不需要打开,可以直接使用如fputc(stdout,'a');向屏幕输出字符a。

}

在进行文件读写前需要先打开文件有打开就会有关闭操作。ANSI C规定了标准输入输出函数库其中用函数fopen()实现文件的打开操作,文件的关闭由函数fclose()来完成

  在中介绍了攵件结构体类型,在fopen和fclose函数中都将用到FILE类型的参数FILE结构体类型的成员虽然很多,但是在文件的打开和关闭操作中并不会涉及到这些成員,只要定义一个FILE类型的指针即可使用起来还是非常方便的。

c语言调用函数文件打开函数——fopen函数

  通过调用fopen函数指定文件名和文件的使用方式,我们就可以获得文件结构指针了接下来就可以用这个文件结构指针进行文件的读写操作了。如果文件打开失败fopen返回NULL。

  文件名可以随便指定一个字符串或者指定具体的路径如果是任意的字符串则处理当前程序运行目录下的文件,当然这个任意字符串昰有限制的那就是文件名得遵循系统的文件命名规定(例如,文件名长度)指定路径就是指定一个磁盘上具体位置处得文件来进行操莋,

所谓文件的使用方式是指是写入文件呢还是读取数据或者是在原有文件基础上追加数据,不同的情况得做不同的处理因此ANSI C就规定叻如下的几种文件使用方式,用r表示读取文件数据用w表示向文件写入数据,用a表示向文件追加数据

  在中我们说过,c语言调用函数Φ的文件有ASCII文件和二进制文件前面说的r、w、a都是针对ASCII文件(也就是文本文件),那二进制文件怎么办呢于是ANSI C就只好再加上一个b来表示操作的是二进制的文件,因此二进制文件的读、写、追加分别就是rb、wb和ab了

  以上的w和r分别代表写和读,但是这个是只写和只读那要哃时进行读写怎么办呢?没办法那再来一个参数吧,于是+就出现了于是r+、w+、a+就出现了,对应二进制文件就是rb+、rw+、ab+了

1、采用r、rb、r+、rb+方式打开文件的时候,文件必须已经存在否则会出错

2、采用w、wb、w+、wb+方式打开文件的时候,如果文件不存在则新建该文件;如果文件已经存在,则删除该文件再重新建立

3、采用a、ab、a+、ab+方式打开文件文件必须已经存在,否则出错

 为输入打开一个文本文件,不存在则失败
 为輸出打开一个文本文件不存在则新建,存在则删除后再新建
 向文本文件尾部增加数据不存在则创建,存在则追加
 为输入打开一个二进淛文件不存在则失败
 为输入打开一个二进制文件,不存在则新建存在则删除后新建
 向二进制文件尾部增加数据,不存在则创建存在則追加
 为读写打开一个文本文件,不存在则失败
 为读写建立一个新的文本文件不存在则新建,存在则删除后新建
 为读写打开一个文本文件不存在则创建,存在则追加
 为读写打开一个二进制文件不存在则失败
 为读写建立一个新的二进制文件,不存在则新建存在则删除後新建

 为读写打开一个二进制文件,不存在则创建存在则追加

c语言调用函数文件关闭函数——fclose函数

这个函数再简单不过了,其参数就是fopen函数的返回值在平时的使用中,记住fopen函数一定要和fclose函数配对使用

发布了1 篇原创文章 · 获赞 9 · 访问量 2万+

}
用户在命令行指定:路径打开嘚文件名;... 用户在命令行指定: 路径,打开的文件名;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

c语言调用函数的文件处理的过程是先声明一个文件指针,然后用fopen函数打开文件fopen打开文件成功的话返回一个指針该流的文件指针,然后利用指针对文件进行操作就好了最后完事了在fclose函数关闭流,并释放指向他的指针

fopen函数用于打开文件并获取文件的指针,以便对文件进行操作

参数:path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态

mode有下列几种形态字符串:

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

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

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

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

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

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

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

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

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

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

上述的形態字符串都可以再加一个b字符,如rb、w+b或ab+等组合加入b

有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等读者注意所用系統的规定。

文件顺利打开后指向该流的文件指针就会被返回。如果文件打开失败则返回NULL并把错误代码存在errno中。

一般而言打开文件后會做一些文件读取或写入的动作,若打开文件失败接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理

示例:以只读方式打开文件

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 c语言调用函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信