linux下解决conio.h的问题

原文: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(ch13)

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是不显示输入内容的意思