c 标准库字符输入输出

归档 C 标准库

2014-03-01 00:00 AM

c 标准库字符输入输出


按功能分类

读取一个字符

getchar Get character from stdin (function)
getc Get character from stream (function)
fgetc Get character from stream (function)
  1. int getchar ( void );
  2. int getc ( FILE * stream );
  3. int fgetc ( FILE * stream );

第一个是从 stdin 中读取, 后两个都是从 FILE * 中读取但是 getc 可能被实现为宏, 返回值都为 int.

当成功时, 返回被读取的字符 (会被提升为 int); 当读取失败时返回 EOF, 需检测 feof 和 ferror 函数来检测是读到文件尾或是发生错误.

写入一个字符

putchar Write character to stdout (function)
putc Write character to stream (function)
fputc Write character to stream (function)
  1. int putchar ( int character );
  2. int putc ( int character, FILE * stream );
  3. int fputc ( int character, FILE * stream );

当写入时 character 会被强制为 unsigned int.

成功时返回写入的字符, 失败时返回 EOF, 应检测 ferror.

读取一行

gets Get string from stdin (function)
fgets Get string from stream (function)
  1. char * gets ( char * str );
  2. char * fgets ( char * str, int num, FILE * stream );

分别从 stdin 和 stream 中读取一行字符保存到 str 中, 使用 gets 比较危险可能会造成缓冲区溢出. 当使用 fgets 时最多会读取 num 个字符.

当成功读取时, 返回参数 str. 当第一个字符就为 EOF 时, 返回 NULL. 当遇到错误时返回 NULL. 所以应检测 feof 和 ferror.

写入一行

puts Write string to stdout (function)
  1. int puts ( const char * str );

将 str 写到 stdout, 并且在后面加一个 \ n

成功时返回非零值, 出错时返回 EOF.

写入字符串

fputs Write string to stream (function)
  1. int fputs ( const char * str, FILE * stream );

和 puts 不同, 这个不在 str 后添加 \ n 字符

成功时返回非零值, 出错时返回 EOF.

读回

ungetc Unget character from stream (function)
  1. int ungetc ( int character, FILE * stream );

将 character 写回 stream 中

成功时返回 character, 失败时返回 EOF

[EOF]


发表于 2014-03-01 00:00 AM,最后更新于 2018-10-29 16:49:32 PM。

本文使用 署名 - 非商业性使用 - 相同方式共享 4.0 国际 协议


评论加载中...

首页