文件IO操作分析

一、标准IO
1、标准输入(intput)设备:键盘;标准输出(output)设备:显示器。

2、标准输入输出头文件:
<stdio.h>   ——>路径:/usr(用户资源)/include/stdio.h;

        系统库函数默认路径:/usr/include/

注意:stdio.h ——> stdio.c  —编译后—>  libc.so(动态库文件) ===>路径:/usr/lib/

3、用man man 查看所有帮助:
        一共9章节;(1)命令(2)系统调用函数(只能在linux中使用)  (3)C库函数(4)说明文件(5)文件格式(etc配置)(6)游戏(7)杂项(8)管理员命令(9)内核更新路线。

        man XXX  ——>  man  1 XXX  ——>  查看当前XXX命令;

        man 2 XXX  ——>  查看XXX对应的系统调用函数;

        man  3 XXX  ——>  查看XXX对应的标准库函数。

4、读写文件步骤:
(1)打开文件(fopen)      (2)io读写操作(fgetc、fputc等)     (3)关闭文件(fclose)

        1)fopen
            FILE *fopen (const char *pathname,const char *mode)

      返回值类型FILE *为系统定义的结构体(流指针),用来描述文件相关信息,成员中有pos、data等。

  mode:r(默认读位置在最开始);r+(读、写);w(清空并创建);w+(读、写)。r与r+要求被操作文件必须存在。

        2)fputc
        int fputc (int c,FILE *stream)     (写w)

一次一个字符,相当于命令touch创建文件。

 fgetc

         int fgetc (FILE *stream)        (读r)

一次一个字符,相当于命令cat显示内容。

注意:vimdiff  文件1 文件2 ,为文本文件对照工具;在命令模式下,:colorscheme badwolf,为颜色方案;stat,为文件详细情况。

fputs
      ★  int fputs (const char *s,FILE *stream)

一次写入一行。

fgets

      ★  char *fgets (char *s,int size,FILE *stream)

一次读取一行。

注意:文件存储在nand flash固态硬盘、机械硬盘(2t)中,将数据读到ram内存上,与cpu交换。

例如:实现类似cp命令。只能处理文本文件,不能处理二进制(不能拷贝图片)。

fwrite

        size_t fwrite (const void *ptr,size_t size,size_t nmemb,FILE *stream)

fread

        size_t fread (void *ptr,size_t size,size_t nmemb,FILE *stream)

注意:bzero 清空缓存区。od -t x1 文件,显示二进制文件内容。

        3)fclose
        int fclose (FILE *stream)

关闭文件。

注意:当a.out开始运行时,系统就已经打开了3个FILE *  :stdin(标准输入);stdout(标准输出);stderr(标准错误输出)。stdout与stderr区别在与缓存区。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值