嵌入式Linux标准IO,fgetc/fputc,fgets/fputs,fread/fwrite比较;,printf()/fprintf()/sprintf();CSDN表格创建

1,fgetc/fputc,fgets/fputs,fread/fwrite比较

|标准IO|效率|文本文件|二进制文件|
|:----------|:---:|:---:|:---:|
|fgetc/fputc|低|可以|可以|
|fgets/fputs|高|可以|不可以|
|fread/fwrite|高|可以|可以|
标准IO效率文本文件二进制文件
fgetc/fputc可以可以
fgets/fputs可以不可以
fread/fwrite可以可以
<table>
    <thead>
        <tr>
            <th width=25% rowspan=2>标准I/O</th>
            <th rowspan=2>效率</th>
            <th colspan=2>读写文件</th>
        </tr>
        <tr>
            <th>文本文件</th>
            <th>二进制文件</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><code>fgetc/fputc</code></td>
           <td></td>
            <td>可以</td>
            <td>可以</td>
        </tr>
        <tr>
            <td>fgets/fputs</td>
            <td></td>
            <td>可以</td>
            <td><I>不可以</I></td>
        </tr>
        <tr>
            <td>fread/fwrite</td>
            <td></td>
            <td>可以</td>
            <td>可以</td>
        </tr>
    </tbody>
</table>
标准I/O效率读写文件
文本文件二进制文件
fgetc/fputc可以可以
fgets/fputs可以不可以
fread/fwrite可以可以

2,按字符输入fgetc(),getc(),getchar()

下列函数用来输入一个字符:
#include <stdio.h>
int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar(void);

  1. 成功时返回读取的字符; 若到文件末尾或出错时返回EOF
  2. getchar()等同于fgetc(stdin)

3,按字符输出fputc(),putc(),putchar()

下列函数用来输出一个字符:
#include <stdio.h>
int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);

  1. 成功时返回写入的字符; 出错时返回EOF
  2. putchar©等同于fputc(c, stdout)

4,按行输入gets(),fgets()

下列函数用来输入一行:
#include <stdio.h>
char *gets(char *s);
char *fgets(char *s, int size, FILE *stream);

  1. 成功时返回s, 到文件末尾或出错时返回NULL
  2. gets不推荐使用, 容易造成缓冲区溢出
  3. 遇到’\n’或已输入size-1个字符时返回, 总是包含’\0’

5,按行输出puts(),fputs()

下列函数用来输出字符串:
#include <stdio.h>
int puts(const char *s);
int fputs(const char *s, FILE *stream);

  1. 成功时返回输出的字符个数; 出错时返回EOF
  2. puts将缓冲区s中的字符串输出到stdout, 并追加’\n’
  3. fputs将缓冲区s中的字符串输出到stream

6,按对象读写fread(),fwrite()

下列函数用来从流中读写若干个对象:
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t n, FILE *fp);
size_t fwrite(const void *ptr, size_t size, size_t n, FILE *fp);

  1. 成功返回读写的对象个数; 出错时返回EOF
  2. 既可以读写文本文件, 也可以读写数据文件
  3. 效率高

7,格式化输出printf(),fprintf(),sprintf()

#include <stdio.h>
int printf(const char *fmt, …);
int fprintf(FILE *stream, const char *fmt, …);
int sprintf(char *s, const char *fmt, …);

  1. 成功时返回输出的字符个数; 出错时返回EOF
  2. 使用起来很方便, 强烈推荐!
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值