【C语言】文件操作

因为数据只存储在内存中,程序结束后数据就被摧毁了,为了能够数据持久化的保留,这里就需要把数据存储在文件中,需要的时候就直接从文件中读取出来。一、文件指针 在内存中专门有个个文件应用区,来进行文件的交互,使用FILE*类型的指针控制,FILE *是个结构体类型的指针。struct _iobuf { char *_ptr; int _cnt; char *_base; int ...
摘要由CSDN通过智能技术生成

        因为数据如果只存储在内存中,程序结束后数据就被摧毁了,为了能够让数据持久化的保留,这里就需要把数据存储在文件中,需要使用的时候直接从文件中读取出来使用。


一、文件指针

        在内存中有个专门来进行文件交互的区域,使用FILE*类型的指针来控制操作文件,FILE *是个结构体指针。

struct _iobuf {  
        char *_ptr;  
        int   _cnt;  
        char *_base;  
        int   _flag;  
        int   _file;  
        int   _charbuf;  
        int   _bufsiz;  
        char *_tmpfname;  
        };  
typedef struct _iobuf FILE;  

 流(stream):

        流是一个很抽象的概念,可以理解为水流,为了方便所有外部设备的输入和输出,在其连接的上层封装了一个流。当程序需要读取数据的时候,就会开启一个通向数据源的流。这个数据源可以是文件,内存,或是网络连接。

        类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在其中“流”动一样。

        其包括文件流、标准输入流(stdin 键盘)、标准输出流(stdout 屏幕)、标准错误流(stdrerr 屏幕)        

        那么对于操作文件来说,就要使用文件的流。   

FILE* pf=fopen("test.txt","r");//以读的方式打开文件

         这里pf指针就可以理解为打开了文件test.txt并与文件流产生了连接。注意这里最好判断pf是不是为NULL,如果为NULL说明打开文件失败

if(pf==NULL)
    printf("文件打开失败\n");

         这样就可以从文件读取数据或者写入数据了。而这里根据fopen()的第二个参数,来选择对文件的具体操作

字符串

说明

r

以只读方式打开文件,该文件必须存在。

r+

以读/写方式打开文件,该文件必须存在。

rb+

以读/写方式打开一个二进制文件,只允许读/写数据。

rt+

以读/写方式打开一个文本文件&#x

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值