📌  相关文章
📜  带有示例的C fopen()函数

📅  最后修改于: 2021-05-25 22:53:49             🧑  作者: Mango

先决条件: C中文件处理的基础
C语言中的fopen()方法是一个库函数,用于打开文件以执行各种操作,包括读取,写入等以及各种模式。如果文件存在,则打开特定文件,否则创建一个新文件。
句法:

FILE *fopen(const char *file_name, const char *mode_of_operation);

参数:该方法接受字符类型的两个参数:

  1. file_name:这是C字符串类型,接受需要打开的文件的名称。
  2. mode_of_operation:这也是C字符串类型,是指文件访问的模式。以下是C的文件访问模式:
    1. “ r” –搜索文件。打开文件以供只读如果文件成功打开,则fopen()会将其加载到内存中,并设置一个指向其中第一个字符的指针。如果无法打开文件,则fopen()返回NULL。
    2. “ w” –搜索文件。如果文件已经存在,则其内容将被覆盖。如果该文件不存在,则会创建一个新文件。如果无法打开文件,则返回NULL。它创建一个仅用于写入(不读取)的新文件。
    3. “ a” –搜索文件。如果文件成功打开,则fopen()会将其加载到内存中,并设置一个指向其中最后一个字符的指针。如果该文件不存在,则会创建一个新文件。如果无法打开文件,则返回NULL。该文件仅用于追加(在文件末尾写入)而打开。
    4. “ r +” –搜索文件。打开文件进行读取和写入如果成功打开,则fopen()会将其加载到内存中,并设置一个指向其中第一个字符的指针。如果无法打开文件,则返回NULL。
    5. “ w +” –搜索文件。如果文件存在,其内容将被覆盖。如果该文件不存在,则会创建一个新文件。如果无法打开文件,则返回NULL。 w和w +之间的区别在于我们还可以读取使用w +创建的文件。
    6. “ a +” –搜索文件。如果文件成功打开,则fopen()将其加载到内存中并设置一个指向文件中最后一个字符的指针。如果该文件不存在,则会创建一个新文件。如果无法打开文件,则返回NULL。打开文件以进行读取和追加(在文件末尾写入)。

返回值:如果执行成功,该函数用于返回指向FILE的指针,否则返回NULL。
范例1:

C
// C program to illustrate fopen()
 
#include 
#include 
 
int main()
{
 
    // pointer demo to FILE
    FILE* demo;
 
    // Creates a file "demo_file"
    // with file acccess as write-plus mode
    demo = fopen("demo_file.txt", "w+");
 
    // adds content to the file
    fprintf(demo, "%s %s %s", "Welcome",
            "to", "GeeksforGeeks");
 
    // closes the file pointed by demo
    fclose(demo);
 
    return 0;
}


C
// C program to illustrate fopen()
 
#include 
 
int main()
{
 
    // pointer demo to FILE
    FILE* demo;
    int display;
 
    // Creates a file "demo_file"
    // with file acccess as read mode
    demo = fopen("demo_file.txt", "r");
 
    // loop to extract every characters
    while (1) {
        // reading file
        display = fgetc(demo);
 
        // end of file indicator
        if (feof(demo))
            break;
 
        // displaying every characters
        printf("%c", display);
    }
 
    // closes the file pointed by demo
    fclose(demo);
 
    return 0;
}


运行以下命令时,将使用名称“ demo_file”创建一个新文件,其内容如下:

Welcome to GeeksforGeeks

示例2:现在,如果我们希望查看文件,则需要运行以下代码,这将打开文件并显示其内容。

C

// C program to illustrate fopen()
 
#include 
 
int main()
{
 
    // pointer demo to FILE
    FILE* demo;
    int display;
 
    // Creates a file "demo_file"
    // with file acccess as read mode
    demo = fopen("demo_file.txt", "r");
 
    // loop to extract every characters
    while (1) {
        // reading file
        display = fgetc(demo);
 
        // end of file indicator
        if (feof(demo))
            break;
 
        // displaying every characters
        printf("%c", display);
    }
 
    // closes the file pointed by demo
    fclose(demo);
 
    return 0;
}

输出:

Welcome to GeeksforGeeks

有关C语言中文件处理的更多文章:

  1. C中文件处理的基础
  2. fopen()用于写入模式下的现有文件
  3. C中的EOF,getc()和feof()
  4. 文件打开模式(r与r +)
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。