getchar(),getch()和getche()

一、getchar()

      函数名: getchar
      功  能: 从stdin流中读字符
      用  法: int getchar(void);

      所在头文件:stdio.h

      程序例:

      #include <iostream> using namespace std; #include <stdio.h> int main() { char c; while ((c = getchar()) != '/n') { cout<<c; } return 0; }

二、getch()

      函数名: getch
      功  能: 从控制台无回显地取一个字符
      用  法: int getch(void);

      所在头文件:conio.h 
      程序例:

       #include <iostream> using namespace std; #include <conio.h> int main() { char ch; cout<<"Please input a character."; ch = getch(); cout<<"/nYou input a character:"<<ch<<endl; return 0; }

三、getche()

      函数名: getche
      功  能: 从控制台有回显地取一个字符
      用  法: int getche(void);

      所在头文件:conio.h 
      程序例:

      #include <iostream> using namespace std; #include <conio.h> int main() { char ch; cout<<"Please input a character:"; ch = getche(); cout<<"/nYou input a character:"<<ch<<endl; return 0; }

四、三者之间的区别

    getch()        无回显,无须回车  
    getche()      有回显,无须回车  
    getchar()     有回显,须回车

五、重点讲下gechar()

      不管输入多少字符,只有当输入回车符后才会开始取已输入的第一个字符给变量,若循环处理的话就会取之前输入的内容的下一个字符。getchar()永远只向缓存中输入一个字符,对于getchar()函数确实可以接受任何一个字符(不知道那些虚拟键能不能用哦,比如说F1等,这还有待考证),包括空格,回车等符号,与cin不同,cin 会自动把控制符作为输入界限。因getchar()能够接受任何字符,故在按回车时,并不会有任何输出,而需要一个条件限制,如用   while (a != ‘/r’)。
      getchar()只能输出一个字,要输出多个就用gets。

      getchar()的用法很多。一种是清空回车符,这种情况一般发生在在循环中涉及到输入的情况;还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间,这时候,在程序最后加上getchar()就能造成程序的暂停,可给程序员看结果的机会。

你可能感兴趣的:(c,ide,input,character,平台)