zoukankan      html  css  js  c++  java
  • 标准I/O库的学习笔记

    2011.12.28嵌入式学习之标准I/0库的学习笔记

    一.计算机的硬件组成

    按运算器和控制器,存储器,输入输出设备。

    二.I/0    标准和文件I/0   标准I/0 是高级磁盘I/0(基于文件I/0), 文件I/0是低级磁盘I/O;

    系统调用  System C  调用的接口----文件I/0   封装----库   POSIX 类UNIX可移植的

    ANSIC                        POSIX

    带缓冲(ANSIC)          不带缓冲 (POSIX)  

    流指针                         文件操作符

    3.文件的类型:

     七种:b  c  d  –  l  s  p     普通文件又分为: 可执行(二进制文件), ASCII 范围 0—255

    文件I/0 要操作的是  d ,l,普通文件的操作。。。(重点)

    4.文件系统类型。。。

    磁盘文件系统   ext2.3.4 

    网络文件系统   samba ------nfs

    临时文件系统   pro----tmp-

    5.标准I/0   <stdio.h>

    ANSIC   库

      带缓冲-----全缓冲---行缓冲,无缓冲。。。stdin和stdout 是行缓冲。。。。

      FILE  结构体-----通过流指针访问       strace 查看电脑下有哪些文件       一个函数对应多个系统调用---实现硬件操作

    ①     什么是流??  流是一个结构体  类似于FILE  *fp ,每个结构体里都有一个文件I/0号  _fileno

    ②     每运行一个a.out(或者打开一个文件)  系统会默认打开3个流-----stdout,stdin,stdrerr(是个结构体指针)

    函数介绍:

    1.fopen()功能:打开一个文件 ,返回一个流指针类型的变量          man  2(系统) 3(库) 查看帮助

    FILE  *fopen(const  char *path, const  char *mode)

    ②    例:终端运行 :./a.out  file.c     则*path为argv[1]

    ③     –r  只读。  r+ 读写 文件必须存。w 只写{存在,则清空重写。。。。。不存在,则创建,必须具备写的权限} 。                          w+  读写{存在,清空重写。。。不存在,创建} ,a 追加。。。 a+  追加读写 (修改一个文件)

    ④     W+  和 w 的区别 w 创建后不能再写,而w+可以写

    2.fclose(FILE  *fp)

    3. getc(FILE  *stream) 功能:读。。。返回一个字符 (ASCII范围 0--255) char类型(-128—127)

      Int  getc(); 必须返回一个 int类型的

      Int  fgetc();

      Int  getchar(void);键盘上获取 相当于getchar(stdin);

    输出:

    4. Puts    int  putc(int  c, FILE  *fp)。。。。。。putc(‘1’,stdout) 直接显示器上显示。。

                  Fputc ()

                  Putchar()

    5.perror    print  a  system error messege。。。。

     Strerror (error)。。。。。

    6.Char  *fgets(char  *buf, int  size,  FILE  *stream)  按行操作  按指定大小size打印,返回 char * 类型   功能:将stream中的内容,取出size大小的内容,放到buf中。

       

    7.fputs (char  *s, FILE *stream)  将s中的内容写入 stream流中,不带\0

    8.stdout 和 stdin行缓冲 (遇到换行符 才刷新内容)   stderr不带缓冲区的  文件的打开默认是全缓冲。。 

  • 相关阅读:
    gcc开启C99或C11标准支持
    数组作为参数的四种声明方式
    [BZOJ 2654]tree(陈立杰)
    [HNOI 2014]道路堵塞
    [ZJOI 2006]书架
    [NOI 2010]超级钢琴
    汇编语言语法
    [洛谷P1714]切蛋糕
    [洛谷P1440]求m区间内的最小值
    [NOIP2016 TG D2T3]愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/zhou2011/p/2305302.html
Copyright © 2011-2022 走看看