原文:http://blog.sina.com.cn/s/blog_6a95e00b0100zqvf.html

linux下没有conio.h的头文件,想要实现getch就无法实现,但是有办法可以代替

//#include <conio.h>

void main(){
char ch;
for(;????{
// system("stty -echo");
ch = getch();
if(ch27) break;
if(ch
13)
continue;
putch(ch);
}
}

Linux实现conio.h中的getch()功能

在windows下写C程序时有时会用到conio.h这个头文件中的getch()功能,即读取键盘字符但是不显示出来(without echo)

后来发现含有conio.h的程序在linux无法编译通过,因为linux没有这个头文件,今天突然发现可以用其他方法代替,贴出来

//in windows

include<stdio.h>

include<conio.h>

int mian(){

char c;

printf("input a char:");

c=getch();

printf("You have inputed:%c \n",c);

return 0;

}

//in linux

include<stdio.h>

include <stdlib.h> //原文没有这句,但是会出现system的警告

int main(){

char c;

printf("Input a char:");

system("stty -echo");

c=getchar();

system("stty echo");

printf("You have inputed:%c \n",c);

return 0;

}

这样就可以了,注:linux中stty -echo是不显示输入内容的意思