1主要內容編輯
getch():
所在頭文件:
conio.h
函數用途:從控制檯讀取一個字符,但不顯示在
屏幕上
函數原型:int getch(void)
返回值:讀取的字符
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();會等待你按下任意鍵,再繼續執行下面的語句;
2易錯點編輯
2.在使用以前要調用initscr(),結束時要調用endwin()。不然會出現不輸入字符這個函數
也會返回的狀況。
3.在不一樣平臺,輸入回車,getch()將返回不一樣數值,而getchar()統一返回10(即\n)
1)windows平臺下ENTER鍵會產生兩個
轉義字符 \r\n,所以getch返回13(\r)。
2)unix、 linux系統中ENTER鍵只產生 \n ,所以getch返回10(\n)。
3)MAC OS中ENTER鍵將產生 \r ,所以getch返回13(\r)。
getch();並不是標準C中的函數,不存在C語言中。因此在使用的時候要注意程序的可移植性。國內C語言新手經常使用getch();來暫停程序且不知道此函數來源,建議使用getchar();(若是狀況容許)代替此功能或更換一款
編譯器。
getch編輯
在windows平臺下從控制檯無回顯地取一個字符,在linux下是有回顯的。
中文名
getch
概述
在windows平臺下從控制
用 法
int getch(void);
返回值
從鍵盤上讀取到的
字符
目錄
1函數名編輯
getch
2用 法編輯
int getch(void);
在linux平臺下時(即包含的是curses.h),還應該在使用函數以前使用initscr(),使用完畢以後調用endwin().不然的話不需輸入就會返回。
3返回值編輯
從鍵盤上讀取到的
字符
4頭文件編輯
#include <conio.h>
5程序例編輯
window 平臺
1
2
3
4
5
6
7
8
9
10
|
#include<stdio.h>
#include<conio.h>
intmain(
void
)
{
char ch;
printf
(
"Inputacharacter:"
);
ch=getch();
printf
(
"\nYouinputa'%c'\n"
,ch);
return0;
}
|
注:Windows下不推薦使用POSIX。建議使用使用標準C++類似的名稱:_getch。詳情請參閱c++標準文件
linux 平臺
1
2
3
4
5
6
7
8
9
10
11
12
|
#include<stdio.h>
#include<curses.h>
intmain(
void
)
{
char ch;
initscr();
printf
(
"Inputacharacter:"
);
ch=getch();
printf
(
"\nYouinputa'%c'\n"
,ch);
endwin();
return0;
}
|
在WINDOWS/
MS-DOS中,也能夠利用
getch()函數讓
程序調試運行結束後等待編程者按下鍵盤才返回編輯界面,用法:包含
conio.h頭文件後,在
主函數結尾,return 0;以前加上getch();便可
這個函數可讓用戶按下任意鍵而不須要回車就能夠接受到用戶的輸入。能夠用來做爲「press any key to continue」的實現。