标准IO 文件IO参数汇总

标准IO

FILE *pp  

定义一个流指针

pp=fopen (文件名,可以是路径,"打开的权限参数");

   权限列表   r    rb            打开只读文件,需存在

                    r+  r+b           打开可读写文件,需存在

                     w   wb           打开只写文件,存在则清0,不存在创建

                    w+   w+b wb+打开可读写文件,存在则清0,不存在则创建

                     a     ab           附加方式打开只写文件,不存在则创建,存在则末尾添加

                   a+  a+b  ab+  以附加方式打开可读写文件,不存在则创建,存在则追加文件末尾

 

pp = freopen(路径,“权限”,另外一个流);    

对流的重定向

 

n=fgetc(读取的流);

输入/读取一个字符,用n来接收,读取后流指针后移一位,

失败返回EOF用于判断终止。遇到缓存区最大值1024或换行符\0停止

 

fputc(n,存的流);

存一个字符到流里/文件,存完后流指针后移一位

 

fgets(读取的流存放的地址/字符串,一次读取的大小,读取的流)!=NULL;

循环读完。成功返回char型指针,指向读入内容,失败返回NULL

 

fputs(取数据的地址/数组/指针,要输出的流);

返回一个非负值,错误返回EOF=-1    遇到\0   NULL 停止

 

fread(数据存的地址/数组/指针,每次读的字节数,读取次数,取数据的流);

指定大小读取文件

 

fwrite(要存的数据/数组/指针,一次的大小,次数,要存的流);

指定大小存文件

 

rewind(pp);

文件流指针定位到头

 

fseek(pp,偏移量字节,基准位置);

基准值   SEEK_SET   文件头

              SEEK_END    文件尾

              SEEK_CUR   当前文件流指针的位置

 

len = ftell(pp) ;

返回当前流指针的位置 

 

while(!ferror(pp)&& !feof(pp))

判断流指针位置是不是尾端,到尾返真   1

 

fclose(pp);

关流,不关的话运行结束也会自己关

 

 

文件IO

int pp=open("路径/文件",参数,可以多个相或,权限8进制)

pp是文件描述符,从3开始,前面三个是strin strout strerr

如果pp=-1  表示打开失败

open不能创建设备文件

没有O_CREAT就不需要权限参数

O_RDONLY   只读方式打开文件

O_WRONLY 可写方式打开文件

O_RDWR 读写方式打开文件 

以上三个只可取其一

 

int pp=creat(“路径/文件”,“参数/模式”)

新建一个,等价于open的新建O_CREAT | O_TRUNC | O_WRONLY

 

close(pp)

 

int n=read(文件描述符,读取的数据存放的内存的地址/数组p,希望读取的字节/sizeof(p))

返回值是实际读到的字节数,末尾的\0不算

通过描述符读取文件的数据到要存的地方

 

write(文件描述符,要写入的数据的内存地址/数组p/“字符串”,要写入文件指定的字节数/sizeof(p))

 

lseek(pp,偏移量字节,基准位置);

功能定位文件指针位置,不能从文件头往前偏移,如果从尾往后偏移,会形成空洞文件

返回值为当前位置距离头有多大距离,可以用来测长度

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值