捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >函数快查 > 正文
7 2018.02

fopen -- 打开一个文件并返回文件指针

点击次数:1056 更新时间:2018-2-7 17:57:34  【打印此页

fopen 函数文档



函数概要:

fopen 函数用于打开一个文件并返回文件指针。


函数原型:

#include <stdio.h>
...
FILE *fopen(const char *path, const char *mode);



参数解析:
 

参数

含义

path

该参数是一个 C 语言字符串,指定了待打开的文件路径和文件名(见备注)

mode

1. 该参数是一个 C 语言字符串,指定了文件的打开模式

2. 下面列举了所有可使用的打开模式:

模式

描述

"r"

1. 以只读的模式打开一个文本文件,从文件头开始读取
2. 该文本文件必须存在

"w"

1. 以只写的模式打开一个文本文件,从文件头开始写入
2. 如果文件不存在则创建一个新的文件
3. 如果文件已存在则将文件的长度截断为 0(重新写入的内容将覆盖原有的所有内容)

"a"

1. 以追加的模式打开一个文本文件,从文件末尾追加内容
2. 如果文件不存在则创建一个新的文件

"r+"

1. 以读和写的模式打开一个文本文件,从文件头开始读取和写入
2. 该文件必须存在
3. 该模式不会将文件的长度截断为 0(只覆盖重新写入的内容,原有的内容保留)

"w+"

1. 以读和写的模式打开一个文本文件,从文件头开始读取和写入
2. 如果文件不存在则创建一个新的文件
3. 如果文件已存在则将文件的长度截断为 0(重新写入的内容将覆盖原有的所有内容)

"a+"

1. 以读和追加的模式打开一个文本文件
2. 如果文件不存在则创建一个新的文件
3. 读取是从文件头开始,而写入则是在文件末尾追加

"b"

1. 与上面 6 中模式均可结合("rb", "wb", "ab", "r+b", "w+b", "a+b")
2. 其描述的含义一样,只不过操作的对象是二进制文件(见备注)



返回值:

1. 如果文件打开成功,则返回一个指向 FILE 结构的文件指针;

2. 如果文件打开失败,则返回 NULL 并设置 errno 为指定的错误。


备注:

1. path 参数可以是相对路径(../fishc.txt)也可以是绝对路径(/home/FishC/fishc.txt),如果只给出文件名而不包含路径,则表示该文件在当前文件夹中

2. 从本质上来说,文本文件也是属于二进制文件的,只不过它存放的是相应的字符编码值。

3. 打开方式要区分文本模式和二进制模式的原因,主要是因为换行符的问题。C 语言用 \n 表示换行符,Unix 系统用 \n,Windows 系统用 \r\n,Mac 系统则用 \r。如果在 Windows 系统上以文本模式打开一个文件,从文件读到的 \r\n 将会自动转换成 \n,而写入文件则将 \n 替换为 \r\n。但如果以二进制模式打开则不会做这样的转换。Unix 系统的换行符跟 C 语言是一致的,所以不管以文本模式打开还是二进制模式打开,结果都是一样的。


演示:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        FILE *fp;
        int ch;

        if ((fp = fopen("hello.txt", "r")) == NULL)
        {
                printf("打开文件失败!\n");
                exit(EXIT_FAILURE);
        }

        while ((ch = getc(fp)) != EOF)
        {
                putchar(ch);
        }

        fclose(fp);

        return 0;
}


 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1056 更新时间:2018-2-7 17:57:34  【打印此页
关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修