C语言 <stdio.h> fopen() 函数

  • 描述

    C库函数FILE * fopen(const char * filename,const char * mode)通过使用给定mode打开指向的文件名filename的文件。
  • 声明

    以下是fopen()函数的声明。
    
    FILE *fopen(const char *filename, const char *mode)
    
    参数
    • filename - 这是C字符串,包含要打开的文件的名称。
    • mode - 这是包含文件访问模式的C字符串。它包括-
      • “r” - 打开文件进行读取。该文件必须存在。
      • “w” - 创建一个空文件进行写入。如果已经存在同名文件,则其内容将被删除,并且该文件将被视为新的空文件。
      • “a” - 追加到文件。写入操作,将数据追加到文件末尾。如果文件不存在,则创建该文件。
      • “r+” - 打开一个文件以更新读取和写入。该文件必须存在。
      • “w+” - 创建一个用于读取和写入的空文件。
      • “a+” - 打开文件进行读取和追加。
  • 返回值

    该函数返回一个FILE指针。否则,将返回NULL并将全局变量errno设置为指示错误。
    示例
    以下示例显示fopen()函数的用法-
    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main () {
       FILE * fp;
    
       fp = fopen ("file.txt", "w+");
       fprintf(fp, "%s %s %s %d", "We", "are", "in", 2012);
       
       fclose(fp);
       
       return(0);
    }
    
    让我们编译并运行以上程序,将创建具有以下内容的文件file.txt-
    
    We are in 2020
    
    现在让我们使用以下程序查看以上文件的内容-
    
    #include <stdio.h>
    
    int main () {
       FILE *fp;
       int c;
      
       fp = fopen("file.txt","r");
       while(1) {
          c = fgetc(fp);
          if( feof(fp) ) { 
             break ;
          }
          printf("%c", c);
       }
       fclose(fp);
       
       return(0);
    }
    
    让我们编译并运行以上程序以产生以下结果-
    
    We are in 2020