C语言 fopen()
函数 用来打开文件或者url,一般用来打开文件。
该函数不能单独使用,因为打开文件执行完成之后需要关闭 fclose()函数,还有打开文件需要干什么,当然是读取文件内容 fgets()等函数。
语法
FILE *fopen(char *filename,const char *mode)
参数
打开文件的模式。参数 说明 filename 指定要打开的文件 mode
mode
模式参数:
模式常量 | 含义 | 如果指定文件不存在 |
---|---|---|
r | 只读 | 以读模式打开已经存在文本文件 |
w | 只写 | 以写模式打开文本文件, |
a | 追加 | 以写模式打开文件,向现有文本文件尾添加数据 |
rb | 只读 | 为了输入数据,打开一个二进制文件 |
wb | 只写 | 为了输出数据,打开一个二进制文件 |
ab | 追加 | 向一个二进制文件尾添加数据 |
r+ | 读写 | 为了读和写,打开一个文本文件 |
w+ | 读写 | 为了读和写 |
a+ | 读写 | 打开一个文件,在文件尾进行读写 |
返回值
成功返回打开文件的指针,失败返回NULL。
注意点
- 打开文件需要有相应的权限。
例子
现介绍一个简单的例子,了解C语言 fopen()
函数 的使用方法。
这里结合 fclose(),fgets() 函数介绍该函数的使用:
#include <stdio.h>
int main( )
{
FILE *file; //定义文件指针
char str[30];//字符数组
file = fopen("d:/yxjc123.txt", "r");//打开文件
if(NULL == file) {
perror("打开文件失败");
return -1;
}
if( fgets (str, 30, file)!=NULL ) {
puts(str);//输出
}
fclose(file); //关闭文件
getchar();
return 0;
}
输出:
yxjc123.com
中文乱码问题
需要将文件编码格式改为ANSI
编码格式。