C语言学习笔记---文件操作 fopen()函数 和 fclose()函数

fopen()函数

  在C语言中fopen()函数用来打开文件。该函数声明在stdio.h中。它的第一个参数是待打开文件的名称,更确切的说是一个包含文件名的字符串地址。第二个参数是一个字符串,指定待打开文件的模式。

  下面表格中列出了常见的文件操作模式:
在这里插入图片描述
  当程序成功打开文件后,fopen()函数将返回一个文件指针,该文件指针的类型是指向FILE的指针,FILE是一个定义在stdio.h中的派生类型。也就是一个结构体。定义如下:

struct _iobuf {
    char *_ptr; 		//文件输入的下一个位置
    int _cnt; 		//当前缓冲区的相对位置
    char *_base; 	//指基础位置(即是文件的其始位置)
    int _flag; 		//文件标志
    int _file; 		//文件的有效性验证
    int _charbuf; 	//检查缓冲区状况,如果无缓冲区则不读取
    int _bufsiz; 	//缓冲区大小
    char *_tmpfname; //临时文件名

        };
typedef struct _iobuf FILE;

  通过typedef定义了 文件类型 的别名: “FILE”。它里面包含了当前打开文件的描述信息。
在不同的系统中FILE结构体里面的内容也是不一样的,所以不用关注FILE结构体中的具体内容,只要会使用就行了。

fclose()函数

  当文件打开后需要关闭时,要调用fclose()函数就行文件的关闭,它只需要一个参数,就是使用fopen()函数打开文件后返回的FILE类型指针。如果关闭成功返回0,如果关闭失败则返回EOF;

   下面通过一个例子来演示这两个函数的用法:

int main()
{
	FILE *fp;
	int ret;

	/* 打开文件 */
	fp = fopen("123.txt","r");
	if(fp==NULL)
		puts("打开失败!");
	else
		puts("打开成功!");

	/* 关闭文件 */
	ret = fclose(fp);
	if(ret == 0)
		puts("关闭成功!");
	else
		puts("关闭失败!");

	system("pause");
	return 0;
}

   使用fopen()函数打开一个记事本,然后在使用fclose()函数关闭记事本。
在这里插入图片描述
   当文件存在时打开和关闭都成功,记事本如果和和当前C文件在一个目录中,在填写文件名的时候就不需要带路径。如果要打开的记事本和当前C文件不在同一个目录中,输入文件名的时候需要输入文件的全路径。如果打开的文件路径不存在,则打开和关闭文件都会失败。

在这里插入图片描述

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值