c语言fopen函数的总结

头文件:#include <stdio.h>

函数原型:FILE *fopen(const char *path, const char *mode);

参数:

    path:打开的文件路径及文件名;

    mode:代表流形态。

返回值:

    文件如果正常打开,返回指向该流的文件指针;

    文件打开失败,则返回NULL,并把错误码存在errno中(关于errno,大家可以自行百度)。

作用:

    打开一个文件。

打开之后要注意:

    一般,打开文件会做读写操作,打文件失败,则可以去其做操作,所以一般在fopen后作错误处理。

关于mode的各种形态:

    

  字符串   说明
r以只读方式打开文件,该文件必须存在。
r+以读/写方式打开文件,该文件必须存在。
rb+以读/写方式打开一个二进制文件,允许读/写数据。
rt+以读/写方式打开一个文本文件,允许读和写。
w打开只写文件,若文件存在则长度清为0,即该文件内容消失,若不存在则创建该文件。
w+打开可读/写文件,若文件存在则文件长度清为0,即该文件内容消失。若文件不存在则建立该文件。
a以附加方式打开只写文件。若文件不存在,则创建文件,如果文件存在,写入的数据会被加到文件尾,
即文件原先的内容会保留。
a+以附加方式打开可读/写文件。若文件不存在,则会创建文件,如果文件存在,则写入的数据会被加到
文件尾,文件原先的内容会保留。
wb以只定方式打开或新建一个二进制文件,只允许写数据。
wb+以读/写方式打开或新建一个二进制文件,允许读和写。
wt+以读/写方式打开或新建一个二进制文件,允许读写。
at+以读/写方式打开一个文本文件,允许读或在文本尾追加数据。
ab+以读/写方式打开一个二进制文件,允许读或在文件尾追加数据。


打开是否为二进制文件,用“b"标识。

程序实例:

#include <stdio.h>
#include <stdlib.h> /* 为了使用exit() */

int main(void)
{
    int i = 0; /* 用于 putchar & getc 的数据接收 */
    char *ch = "";
    FILE *fp = NULL;
    char fname[50]; /* 用于存放文件名 */
    printf("输入文件名:");
    scanf("%s", fname);
    fp = fopen(fname, "r"); /* 只供读取 */
    if (NULL == fp) /* 如果失败了 */
    {
        printf("错误!");
        exit(1); /* 中止程序 */
    }
    while ((ch[i] = getc(fp)) != EOF)
    {
        putchar(ch[i]);
        i ++;
    }
    fclose(fp); /* 关闭文件 */
    fp = NULL; /* 需要指向空,否则会指向原打开文件地址 */
    return 0;
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值