嵌入式19——标准IO

1.函数接口:
    1.fgetc 
      int fgetc(FILE *stream);
      功能:
        从流中读取下一个字符
      参数:
        stream:文件流指针
      返回值:
        成功返回读到字符的ASCII码值
        失败返回EOF
        读到文件末尾返回EOF

    2.fgetc/fputc与getchar/putchar的区别
        char ch = 0;
        ch = getchar();
        ch = fgetc(stdin);

        char ch = 'a'
        putchar(ch);
        fputc(ch, stdout);

    3.fputs
      int fputs(const char *s, FILE *stream);
      功能:
        向流中写入一个字符串
      参数:
        s:字符串首地址
        stream:文件流指针
      返回值:
        成功返回非负数
        失败返回EOF

    4.fgets
      char *fgets(char *s, int size, FILE *stream);
      功能:
        从流中读取一个字符串
      参数:
        s:存放字符串空间首地址
        size:最多读取字符的个数
        stream:文件流指针
      返回值:
        成功返回存放字符串空间的首地址
        失败返回NULL
        读到文件末尾返回NULL

        gets和fgets区别:
        1.gets没有给定最多读取字符的个数,有越界风险
          fgets需要给定最多读取的字符个数,没有越界风险
        2.gets会去掉从终端接收的\n字符,换成\0字符
          fgets会保留从终端接收的\n字符,并在其末尾加入\0

        puts和fputs 
        1.puts会在字符串末尾多打印一个\n字符 
        2.fputs不会在末尾多打印\n字符