先决条件: C 中文件处理的基础知识
C 中的 fopen() 方法是一个库函数,用于打开文件以执行各种操作,包括读、写等以及各种模式。如果文件存在,则打开特定文件,否则会创建一个新文件。语法:
FILE *fopen(const char *file_name, const char *mode_of_operation);
参数:该方法接受两个字符类型的参数:
- file_name:这是 C 字符串类型并接受需要打开的文件的名称。
- mode_of_operation:这也是C字符串类型,指的是文件访问的方式。下面是 C 的文件访问模式:
- “r” -搜索文件。以只读方式打开文件。如果文件成功打开,则 fopen() 将其加载到内存中并设置一个指向其中第一个字符的指针。如果文件无法打开 fopen() 返回 NULL。
- “w” -搜索文件。如果文件已经存在,则其内容将被覆盖。如果文件不存在,则会创建一个新文件。如果无法打开文件,则返回 NULL。它创建一个新文件只用于写入(无读取)。
- “a” -搜索文件。如果文件成功打开,则 fopen() 将其加载到内存中并设置一个指向其中最后一个字符的指针。如果文件不存在,则会创建一个新文件。如果无法打开文件,则返回 NULL。该文件仅用于追加(在文件末尾写入)。
- “r+” -搜索文件。打开供读取和写入文件。如果成功打开,fopen()将其加载到内存中,并设置一个指针,它指向它的第一个字符。如果无法打开文件,则返回 NULL。
- “w+” -搜索文件。如果文件存在,则覆盖其内容。如果文件不存在,则会创建一个新文件。如果无法打开文件,则返回 NULL。 w 和 w+ 的区别在于我们还可以读取使用 w+ 创建的文件。
- “a+” -搜索文件。如果文件成功打开,fopen() 将其加载到内存中并设置一个指向其中最后一个字符的指针。如果文件不存在,则会创建一个新文件。如果无法打开文件,则返回 NULL。打开文件以进行读取和追加(在文件末尾写入)。
返回值:如果执行成功,则该函数用于返回指向 FILE 的指针,否则返回 NULL。
范例1:
C
// C program to illustrate fopen()
#include <stdio.h>
#include <stdlib.h>
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;
}
运行以下命令时,将创建一个名为 “demo_file” 的新文件,其内容如下:
Welcome to GeeksforGeeks
范例2:现在,如果我们想查看文件,那么我们需要运行以下代码,这将打开文件并显示其内容。
C
// C program to illustrate fopen()
#include <stdio.h>
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文件处理的其他文章:
相关用法
- C++ btowc()用法及代码示例
- C++ wcsspn()用法及代码示例
- C语言 getdate()、setdate()用法及代码示例
- C语言 Beep()用法及代码示例
- C语言 showbits()用法及代码示例
- C语言 getch()用法及代码示例
- C++ iswprint()用法及代码示例
- C++ iswgraph()用法及代码示例
- C++ mbrtoc16()用法及代码示例
- C++ mbrtoc32()用法及代码示例
- C++ wmemset()用法及代码示例
- C++ cauchy_distribution a()用法及代码示例
- C语言 asctime()、asctime_s()用法及代码示例
注:本文由纯净天空筛选整理自Chinmoy Lenka大神的英文原创作品 C fopen() function with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。