九、Linux文件 - fopen函数和fclose函数讲解
创始人
2024-05-24 23:49:11

目录

1.fopen函数

2.fclose函数

3.fopen函数和fclose实战


1.fopen函数

fopen fwrite fread fclose ...属于标准C库

include  standard io lib

open close write read 属于Linux系统调用

可移植型:fopen > open(open函数只在嵌入式平台中才可以使用,不可跨平台)

 fopen在用户态是缓存的

open在用户态是没有缓存的

打开一个文件,返回指向该文件的指针

函数原型

FILE * fopen(constchar *path , cost char *mode)
/*
* @description : 打开一个文件
* @param ‐ path : 指定文件路径,如:"./test.txt"
* @param ‐ mode :指定文件的打开方式,如下图:
* @return : 成功,返回指向该文件的文件指针; 若失败,返回 NULL
*/
注:终端输入 man fopen 即可查看函数 参数说明:第一个参数为欲打开文件的文件路径及文件名,第二个参数表示对文件的打开方式

mode有以下值:

  • r:只读方式打开,文件必须存在
  • r+:可读写,文件必须存在
  • rb+:打开二进制文件,可以读写
  • rt+:打开文本文件,可读写
  • w:只写,文件存在则文件长度清0,文件不存在则建立该文件
  • w+:可读写,文件存在则文件长度清0,文件不存在则建立该文件
  • a:附加方式打开只写,不存在建立该文件,存在写入的数据加到文件尾,EOF符保留
  • a+:附加方式打开可读写,不存在建立该文件,存在写入的数据加到文件尾,EOF符不保留
  • wb:打开二进制文件,只写 wb+:打开或建立二进制文件,可读写
  • wt+:打开或建立文本文件,可读写
  • t+:打开文本文件,可读写,写的数据加在文本末尾 ab+:打开二进制文件,可读写,写的数据加在文件末尾

由mode字符可知,上述如r、w、a在其后都可以加一个b,表示以二进制形式打开文件

返回值:

文件打开了,返回一个指向该打开文件的指针(FILE结构);文件打开失败,错误上存errorcode(错误代码)。

注意:在fopen操作后要进行判断,是否文件打开,文件真正打开了才能进行后面的读或写操作,如有错误要进行错误处理。

例如:

FILE *pfile=fopen(constchar *filename,"rb");

2.fclose函数

关闭一个文件流,使用fclose就可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区

函数原型:

int fclose(FILE*stream)
/*
* @description :关闭一个已打开的流
* @param ‐ stream :文件指针(流)
* @return : 成功,返回0; 若失败,返回EOF
*/

3.fopen函数和fclose实战

  1. 创建demo2.c 文件
  2. 实战成功

代码:

#include 
int main()
{FILE *fp = NULL;int nRet = 0;fp = fopen("mm","w");if(fp == NULL){printf("open failed!\n");return -1;}printf("open success1\n");nRet = fclose(fp);if(nRet != 0){printf("close failed!\n");return -2;}printf("close success1\n");return 0;
}

 

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...