嵌入式Linux学习DAY19

函数接口

fgetc(a):从流中读取一个字符----调用一次读取向后读取一次(因为被操作数为流)

                                                流被读完后会产生错误----用来作为读取结束的条件

fgetc/fputc与getchar/putchar的区别-------没有区别

fputs(a,b):将a打印到b内,若b为stdout,则打入终端

使用示例:将1.txt内容写入2.txt中

 #include<stdio.h>
   int main(void)
   {                                                
       char c;
       FILE *a=NULL;
       a=fopen("1.txt","r");
       FILE *b=NULL;
       b=fopen("2.txt","w");
       while(1)
      {
      c=fgetc(a);
      fputc(c,b);
      if(c==EOF)
      {
          break;
      }
      }
  }

fputs(const *s,FILE *stream):fputs(a,b)将a中的值写入b中

fgets(const *s,int size,FILE *stream):fgets(a,b,c)从流c中读取(b-1)//留值存\0//个大小的值存到a,若读到\n就直接停止,不再读取,并在结尾加上\0.

---------------------------------以上函数只能操作ascii码文件

如何刷新偏移量-----关闭文件后再开启。

puts与fputs的区别:puts会在字符串末尾多打印\n,fputs不会多打印\n。

gets与fgets的区别:gets会去掉\n,fgets不会去掉\n,gets没有给定读取个数,容易越界,fgets有范围,不会越界。

二进制文件的操作

也能操作ascii码文件

fwrite(const void *a,size_t b,size_t c,FILE *d):

        功能:向d中写入c个字符,每个b个字节大小,从a中取

        返回值:成功返回写入的字符个数

fread(const void *a,size_t b,size_t c,FILE *d);

        功能:读取d中的c个字符,每个字符b个字节大小,存到a中

fscanf(a,"字符串",&字符型)

        功能:将格式化的字符串输入到文件a中

fprintf(a,"字符串",字符型)

        功能:将格式化的字符串输出到文件a中。

流的定位

ftell(a)

        功能:获得流的偏移量

rewind (a)       

        功能:将流的偏移量重新回到开头

fseek(a,b,whence)

        功能:设置流的偏移量

        b>0----向后偏移

        b<0----向前偏移

        whence:

                        SEEK—SET开头,b=0;

                        SEEK—CUR当前位置

                        SEEK__END结尾,b=0;

 

 

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值