1 /*************************************************************************
2 > File Name: getchar2.c
3 > Author: Mr.Yang
4 > Purpose:演示getchar输入整行文本
5 > Created Time: 2017年05月20日 星期六 09时22分42秒
6 ************************************************************************/
7
8 #include <stdio.h>
9 #include <stdlib.h>
10
11 #define MAX 80
12
13 int main(void)
14 {
15 char buffer[MAX+1];
16 int ch = 0;
17 int i = 0;
18
19 while((ch = getchar()) != '\n' && i < MAX)//函数getchar()读取stdin流中的下一个字符,它具备缓冲和回显功能;因此此处由于getchar()是一个缓冲输入函数,在用户按下enter之前,该函数不会收到任何字符,但是用户输入的每个字符都会被回显到屏幕上,用户按下enter键之后,之前输入的所有字符(包括换行符)都被操作系统发给stdin,gechar函数每次返回一个字符,而该字符又被赋值给ch
20 {
21 buffer[i] = ch;
22 buffer[i++];
23 }
24 buffer[i] = '\0';
25 printf("%s\n",buffer);
26
27 return 0;
28 }