fopen的用法

1、函数功能:打开一个文件
2、函数原型:FILE * fopen(const char * path,const char * mode);
3、返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。
    一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。
4、参数说明:
  参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
  mode有下列几种形态字符串:
  r 以只读方式打开文件,该文件必须存在。
  r+ 以可读写方式打开文件,该文件必须存在。
  rb+ 读写打开一个二进制文件,允许读数据。
  rw+ 读写打开一个文本文件,允许读和写。
  w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
  w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
  a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
  wb 只写打开或新建一个二进制文件;只允许写数据。
  wb+ 读写打开或建立一个二进制文件,允许读和写。
  ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
  at+ 打开一个叫string的文件,a表示append,就是说写入处理的时候是接着原来文件已有内容写入,不是从头写入覆盖掉,t表示打开文件的类型是文本文件,+号表示对文件既可以读也可以写。

5、在文件操作时,需要注意以下几点问题
   (1)、在定义文件指针时,要将文件指针指向空;如 FILE *fp = NULL;
  (2)、文件操作完成后,需要将文件关闭,一定要注意,否则会造成文件所占用内存泄露和在下次访问文件时出现问题。
  (3)、文件关闭后,需要将文件指针指向空,这样做会防止出现游离指针,而对整个工程造成不必要的麻烦;如:fp = NULL;

示例程序:
  #include <stdio.h>
  #define F_PATH "d:\myfile\file.dat"
  int main(void)
  {
         FILE *fp = NULL; //需要注意
         fp = fopen(F_PATH, "r");
         if(NULL == fp)
        {
              return -1; //要返回错误代码
        }
        fclose(fp);
        fp = NULL; //需要指向空,否则会指向原打开文件地址
        return 0;
  }

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
fopen 函数是 C 语言中用来打开文件的函数,其原型为: ```c FILE* fopen(const char* filename, const char* mode); ``` 其中,filename 为文件名(包括路径),mode 为打开文件的模式。mode 的取值有: - "r":只读模式,文件必须存在; - "w":只写模式,如果文件不存在则创建文件,如果存在则清空文件内容; - "a":追加模式,如果文件不存在则创建文件,如果存在则在文件末尾追加内容; - "rb"、"wb"、"ab":以上三种模式的二进制形式,适用于非文本文件的读写操作; - "r+":读写模式,文件必须存在; - "w+":读写模式,如果文件不存在则创建文件,如果存在则清空文件内容; - "a+":读写模式,如果文件不存在则创建文件,如果存在则在文件末尾追加内容; - "rb+"、"wb+"、"ab+":以上三种模式的二进制形式,适用于非文本文件的读写操作。 fopen 函数成功打开文件后,会返回一个 FILE 类型的指针,指向文件的位置信息等数据。如果打开文件失败,则返回 NULL。 下面是一个使用 fopen 函数打开文件并写入内容的示例代码: ```c #include <stdio.h> int main() { FILE* fp; char str[] = "Hello, world!\n"; fp = fopen("test.txt", "w"); if (fp == NULL) { printf("Failed to open file.\n"); return 1; } fputs(str, fp); fclose(fp); return 0; } ``` 在上面的代码中,我们使用 fopen 函数打开一个名为 test.txt 的文件,并以只写模式打开。如果文件打开成功,则将字符串 "Hello, world!\n" 写入文件中,最后关闭文件。如果文件打开失败,则输出一条错误信息并退出程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值