嵌入式Linux标准IO,fgetc/fputc,fgets/fputs,fread/fwrite比

2019-07-13 09:12发布

文章目录

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/Oth> <th rowspan=2>效率th> <th colspan=2>读写文件th> tr> <tr> <th>文本文件th> <th>二进制文件th> tr> thead> <tbody> <tr> <td><code>fgetc/fputccode>td> <td>td> <td>可以td> <td>可以td> tr> <tr> <td>fgets/fputstd> <td>td> <td>可以td> <td><I>不可以I>td> tr> <tr> <td>fread/fwritetd> <td>td> <td>可以td> <td>可以td> tr> tbody> table> 标准I/O 效率 读写文件 文本文件 二进制文件 fgetc/fputc 低 可以 可以 fgets/fputs 低 可以 不可以 fread/fwrite 高 可以 可以

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

下列函数用来输入一个字符:
#include
int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar(void);
  1. 成功时返回读取的字符; 若到文件末尾或出错时返回EOF
  2. getchar()等同于fgetc(stdin)

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

下列函数用来输出一个字符:
#include
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
char *gets(char *s);
char *fgets(char *s, int size, FILE *stream);
  1. 成功时返回s, 到文件末尾或出错时返回NULL
  2. gets不推荐使用, 容易造成缓冲区溢出
  3. 遇到’ ’或已输入size-1个字符时返回, 总是包含’