文件流的介绍




文件流:像水流一样把一个大的文件分成一段一段的流过去就叫文件流

    你下载了一部非常高清又无码的电影,计算机处理文件,需要先加载到内存,然后再交给CPU执行,内存16G,不可能一次性加载到内存

    一点一点流到内存,我先流1G,然后再流1G,慢慢流过去 

    网络视频的时候,进度条,就是所谓缓冲,就是缓冲文件流(流媒体)

 

r: 以只读的方式打开文件,如果文件存在,返回文件的指针,如果不存在返回NULL

    w: 以只写的方式打开文件,覆盖原文件再返回文件指针,如果不存在则创建再返回文件指针

    a: 以追加的方式打开文件,如果文件存在,则追加原来的文件内容,如果不存在则创建文件。不管存在不存在最终都会返回文件指针

    r+:功能和r还是一样,只不过增加了写的功能                     w+:功能和w还是一样,只不过增加了读的功能

    a+:功能和a还是一样,只不过增加了读的功能

    以下不能单独用,要跟上面的嵌套一起

    t: 代表操作的是文本文件 (默认的)  rt  wt at rt+ wt+ at+

    b: 代表操作的是二进制文件      rb wb ab  rb+ wb+ ab+

 

 FILE *fp = fopen("/Users/chenyong/Desktop/a.datd", "r");

    

    if(fp != NULL){        

        while (1) {

因为不知道内容究竟有多少,所以死循环来读 

            char ch = fgetc(fp); 

如果它读取出来的是EOF,那么就代表读取完毕

            if(ch == EOF){

                break;

            }

            printf("%c",ch);

        } 

        //关闭文件

        fclose(fp);

    }



FILE *fp = fopen("/Users/chenyong/Desktop/a.datd", "w");

    

    if(fp != NULL){        

        char str[] = "";

        int len = (int)strlen(str);        

        for (int i=0; i<len; i++) {   

            fputc(str[i], fp);

        }

        fclose(fp);

    }






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值