美文网首页
getchar() ---- c stand librar

getchar() ---- c stand librar

作者: deffisoan | 来源:发表于2017-03-29 01:35 被阅读0次

EOF

getchar()之前,先讨论EOF的概念.
EOF(End Of File)表示的是文件结束符. 不同于行结束符 \n, EOF表示的是文件或流的数据源的结束信号,通常在不同平台上数值不同, 例如在 UNIX/LINUX 环境下多为-1 . 之所以为-1, 是因为getchar返回的是一个unsigned int , 可以用负值来与正常情况区分. EOF产生是通过块读取函数, 块读取函数返回读取的字节数,如果它小于要求读取的字节数,就会出现一个文件结束符。
我们可以通过按键得到一个EOF, 例如在Unix下 的CTRL D. 但CTRL D并非直接表示结束符,而是通过中断Terminal,让Kernel得以知道文件结束,并由Terminal的驱动程序将其翻译为EOF.

getchar函数用法

在了解EOF的概念后,可以开始学习getchar的内容.

函数原型

int getchar ( void );

getchar从标准输入流 stdin 中读取下一个字符并返回,当读取成功时, char被提升为int型, 并返回对应的值,当读取到EOF时,返回EOF ,并且将EOF标识符(EOF indicator)设置为feof,在读取失败时,同样返回EOF,但讲标识符设置为ferror.

示例代码

/* getchar example : typewriter */
#include <stdio.h>

int main ()
{
  int c;
  puts ("Enter text. Include a dot ('.') in a sentence to exit:");
  do {
    c=getchar();
    putchar (c);
  } while (c != '.');
  return 0;
}

相关文章

网友评论

      本文标题:getchar() ---- c stand librar

      本文链接:https://www.haomeiwen.com/subject/msasottx.html