文件的打开 (fopen()函数)

本文详细介绍了C语言中文件操作的基础知识,特别是fopen函数的使用方法及其参数含义,包括如何以不同模式打开文件,以及如何处理文件打开过程中可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

文件的打开(fopen()函数)

返回

0001.gif (1095 字节)

M0PS8JPT.gif (1653 字节) 调用形式

        #include"stdio.h"

        fp=fopen(文件名,使用文件方式)

    例如:

            fp=fopen("cs.txt","r");

M0PS8JPT.gif (1653 字节) 说明

    (1)文件指针变量

    fp为文件类型指针变量,其定义如下:

        FILE *fp;

    打开一个文件时,系统要在内存中开辟一块区域来保存该文件的有关信息(如文件名、文件状态、文件缓冲区位置等等),C语言在头文件stdio.h中定义的FILE类型对有关的文件信息作了说明。被定义为FILE类型的指针变量fp可以用来存放与文件相关的内存区的首地址(“指针”就是“地址”的意思)。C语言规定,在程序中只要有对文件的操作,就必须先定义文件指针变量,如果要同时使用n个文件,就必须定义n个文件指针变量。

    (2)参数

    “文件名”指明了要打开的是哪一个文件,它可以是字符串常量,也可以是字符数组名。Turbo C允许在文件名中使用盘符和路径,但要Exclaim.gif (1443 字节)注意路径分隔符必须是“//”而不是“/”(因为C语言中的转义字符以“/”开头)。例如:

        "C://DATA//CLS.DAT"

    意为

    “使用文件方式”是一个用双引号引起来的字符串,它可以是下列任一值:

"r"

以只读方式打开一个文本文件。
不能以该方式打开一个不存在的文件,否则出错。

"w"

以只写方式打开一个文件文件。
若文件不存在,则系统自动建立该文件;
若文件已经存在,则在打开时将该文件删去,然后重新建立一个新文件。

"a"

以向文件末尾添加数据的方式打开一个文本文件。
若文件不存在,则系统自动建立该文件。

"r+"

以读/写方式打开一个已有的文本文件;
即,打开文件后,既可对文件进行读操作,又可对文件进行写操作。

"w+"

以读/写方式建立一个新文本文件。
注意
"w+""r+"的区别,两者都是以读/写方式打开文件,但"r+"方式只能打开一个已有的文件,而"w+"方式可以打开已有的文件(但会删除该文件中的原有内容),也可以打开一个不存在的文件(即建立一个新文件)。

"a+"

以读/写方式打开一个文本文件,对文件的读写操作在文件的末尾进行。

    如果要打开一个二进制文件,则可在上述值之后加一个

M0PS8JPT.gif (1653 字节) 函数功能

    fopen()函数打开由文件名指定的文件,若成功地完成打开操作,则带回一个指向该文件的指针(即存放该文件有关信息的内存区的首地址),若打开文件时出现错误(例如,以"r"方式打开一个不存在的文件),则返回空指针值NULL

    例如:

        FILE *fp;

        fp=fopen("cls.dat","r");

    意为以只读方式打开当前盘当前目录下一个名为cls.dat的文件,并把返回的指向cls.dat文件的指针赋值给fp。这样,文件类型指针变量fp就与文件名cls.dat建立了一一对应关系,随后凡是对文件cls.dat的操作均用fp来识别该文件,而不再使用文件名。

b("rb","wb","rb+"等待)
C盘根目录下的DATA子目录下的CLS.DAT文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值