C 语言标准库函数 - fopen()
C 语言标准库 <stdio.h> 函数 FILE fopen(const char filename, const char *mode) 使用给定的模式 mode 打开 filename 所指向的文件。
头文件
#include <stdio.h>
函数原型
下面是 fopen() 函数的原型
FILE *fopen(const char *filename, const char *mode)
参数
- filename : 这是 C 字符串,包含了要打开的文件名称
- mode : 这是 C 字符串,包含了文件访问模式,模式如下:
模式 | 描述 |
---|---|
"r" | 打开一个用于读取的文件。该文件必须存在 |
"w" | 创建一个用于写入的空文件。如果文件名称与已存在的文件相同,则会删除已有文件的内容,文件被视为一个新的空文件 |
"a" | 追加到一个文件。写操作向文件末尾追加数据。如果文件不存在,则创建文件 |
"r+" | 打开一个用于更新的文件,可读取也可写入。该文件必须存在 |
"w+" | 创建一个用于读写的空文件 |
"a+" | 打开一个用于读取和追加的文件 |
返回值
该函数返回一个 FILE 指针。否则返回 NULL,且设置全局变量 errno 来标识错误
范例
下面的范例演示了 fopen() 函数的用法。
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <stdio.h> #include <stdlib.h> int main() { FILE * fp; fp = fopen ("d.txt", "w+"); fprintf(fp, "%s %s %s %d\n", "Hello", "twle", "cn", 2014); fclose(fp); return(0); }
编译运行以上程序,将在当前目录下新建一个文件 demo.txt
,内容如下
Hello twle cn 2014
现在让我们使用下面的程序查看上面文件的内容:
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <stdio.h> int main () { FILE *fp; int c; fp = fopen("demo.txt","r"); while(1) { c = fgetc(fp); if( feof(fp) ) { break ; } printf("%c", c); } fclose(fp); return(0); }
编译运行以上程序,输出结果如下
$ gcc main.c && ./a.out Hello twle cn 2014