getchar()
所在头文件: c s t d i o ∣ s t d i o . h cstdio \space | \space stdio.h cstdio ∣ stdio.h
函数原型: i n t int int _ _ c d e c l \_\_cdecl __cdecl g e t c h a r ( v o i d ) ; getchar(void); getchar(void);
(注: _ _ c d e c l \_\_cdecl __cdecl 是 C/C++ 默认使用的调用约定)
函数作用:读取用户从键盘输入的单个字符(返回值为 int 型),当发生读入错误时返回 − 1 -1 −1。否则返回用户从键盘输入的第一个字符的 A S C I I ASCII ASCII 码。
注意点: g e t c h a r ( ) getchar() getchar() 是等到换行才开始从 I/O 流 \color{#CC66FF} \text{I/O 流} I/O 流 中读入字符,如果还有字符,将其一并放入键盘缓冲区。(包括换行符)如果键盘缓冲区还有字符, g e t c h a r ( ) getchar() getchar() 并不会等待字符的输入,而是先把键盘缓冲区的字符读完,再等待输入。数字也算作字符。 g e t c h a r ( ) getchar() getchar() 输入的字符是显示在屏幕上的!
getch()
所在头文件: c o n i o . h conio.h conio.h
函数原型: i n t int int _ _ c d e c l \_\_cdecl __cdecl g e t c h ( v o i d ) getch(void) getch(void) _ _ M I N G W _ A T T R I B _ D E P R E C A T E D _ M S V C 2005 ; \_\_MINGW\_ATTRIB\_DEPRECATED\_MSVC2005; __MINGW_ATTRIB_DEPRECATED_MSVC2005;
函数作用: g e t c h ( ) getch() getch() 等待 控制台 按下任意键后将 A S C I I ASCII ASCII 值传回。如果单纯使用 g e t c h ( ) getch() getch()(如下),则作用是等待按下任意键。
注意点: g e t c h ( ) getch() getch() 输入的字符是不显示在屏幕上的!(没有回显)
#include <conio.h>
using namespace std;
int main()
{
getch();
return 0;
}
getche()
所在头文件: c o n i o . h conio.h conio.h
函数原型: i n t int int _ _ c d e c l \_\_cdecl __cdecl g e t c h e ( v o i d ) getche(void) getche(void) _ _ M I N G W _ A T T R I B _ D E P R E C A T E D _ M S V C 2005 ; \_\_MINGW\_ATTRIB\_DEPRECATED\_MSVC2005; __MINGW_ATTRIB_DEPRECATED_MSVC2005;
函数作用:同 g e t c h ( ) getch() getch(),只不过有回显。(回显是指显示在屏幕上)
putchar()
所在头文件: c s t d i o ∣ s t d i o . h cstdio \space | \space stdio.h cstdio ∣ stdio.h
函数原型: i n t int int _ _ c d e c l \_\_cdecl __cdecl p u t c h a r ( i n t _ C h ) ; putchar(int \_Ch); putchar(int_Ch);
函数作用:向终端输出一个字符。
putch()
所在头文件: c o n i o . h conio.h conio.h
函数原型: i n t int int _ _ c d e c l \_\_cdecl __cdecl p u t c h ( i n t _ C h ) putch(int \_Ch) putch(int_Ch) _ _ M I N G W _ A T T R I B _ D E P R E C A T E D _ M S V C 2005 ; \_\_MINGW\_ATTRIB\_DEPRECATED\_MSVC2005; __MINGW_ATTRIB_DEPRECATED_MSVC2005;
函数作用:在当前光标处输出一个字符,然后光标自动右移一个位置。
注意事项
g e t c h ( ) getch() getch() 和 p u t c h ( ) putch() putch() 不是标准库函数。
小结
g e t c h a r ( ) g e t c h ( ) 和 g e t c h e ( ) getchar() \space getch() \space 和 \space getche() getchar() getch() 和 getche() 的作用都是读取字符,但 g e t c h a r ( ) 和 g e t c h e ( ) getchar() \space 和 \space getche() getchar() 和 getche() 有回显,而 g e t c h ( ) getch() getch() 无回显。 g e t c h a r ( ) getchar() getchar() 等到换行才开始读取,多余字符会放入键盘缓冲区(包括换行符),读取是会优先读入缓冲区字符。而 g e t c h ( ) 和 g e t c h e ( ) getch() \space和 \space getche() getch() 和 getche() 则直接读入字符。
p
u
t
c
h
a
r
(
)
和
p
u
t
c
h
(
)
putchar() \space 和 \space putch()
putchar() 和 putch() 的作用都是输出字符,不推荐使用
p
u
t
c
h
a
r
(
)
putchar()
putchar()。
g
e
t
c
h
(
)
和
p
u
t
c
h
(
)
getch() \space 和 \space putch()
getch() 和 putch() 都不是标准库函数。