FGETC - Linux手册页

时间:2019-08-20 18:00:18  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2017-09-15

名称

fgetc,fgets,getc,getchar,ungetc-字符和字符串的输入

语法

#include <stdio.h>

int fgetc(FILE *stream);

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

int getc(FILE *stream);

int getchar(void);

int ungetc(int c, FILE *stream);

说明

fgetc()从流中读取下一个字符,并以无符号字符的形式将其返回给int,或者在文件或错误结束时返回EOF。

getc()等效于fgetc(),但它可以实现为对流进行多次评估的宏。

getchar()等效于getc(stdin)。

fgets()最多从流中读取小于大小的字符,并将其存储到s指向的缓冲区中。在EOF或换行符之后停止读取。如果读取换行符,则将其存储到缓冲区中。终止空字节(aq \ 0aq)存储在缓冲区中的最后一个字符之后。

ungetc()将c推回流,转换为无符号字符,可用于后续读取操作。推回的字符将以相反的顺序返回;仅保证一次推回。

此处描述的函数的调用可以相互混合,也可以与stdio库中针对相同输入流的其他输入函数的调用混合在一起。

有关非锁定对象,请参见unlocked_stdio(3)。

返回值

fgetc(),getc()和getchar()返回以无符号字符形式读取的字符,该字符在文件或错误结束时转换为int或EOF。

如果成功,则fgets()返回s,如果错误或在未读取任何字符的情况下发生文件结尾,则返回NULL。

ungetc()成功返回c,错误返回EOF。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
fgetc(),fgets(),getc(),
getchar(),ungetc()
Thread safetyMT-Safe

遵循规范

POSIX.1-2001,POSIX.1-2008,C89,C99。

建议不要将来自stdio库的对输入函数的调用与对与输入流相关联的文件描述符的read(2)的低级调用混合在一起。结果将是不确定的,并且很可能不是您想要的。

另外参见

read(2),write(2),ferror(3),fgetwc(3),fgetws(3),fopen(3),fread(3),fseek(3),getline(3),gets(3), getwchar(3),puts(3),scanf(3),ungetwc(3),unlocked_stdio(3),feature_test_macros(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/