linux没有 conio.h解决的方式

        conio.h不是C标准库中的头文件,在ISOPOSIX标准中均未定义。

conioConsole Input/Output(控制台输入输出)的简写,当中定义了通过控制台进行数据输入和数据输出的函数。主要是一些用户通过按键盘产生的相应操作。比方getch()函数等等。大部分DOSWindowsPhar LapDOSXOS/2等平台上的C编译器提供此文件,UNIXLinux平台的C编译器本身通常不包括此头文件,但已经有其兼容包,可參考:

http://conio.sourceforge.net/

另外大家平时主要是利用conio.h这个头文件里的getch()函数,即读取键盘字符可是不显示出来(without echo),可是含有conio.h的程序在linux无法直接编译通过,由于linux没有这个头文件。除了利用上述的兼容包外还能够在linux採用原生的方法达到相同的效果,那就是利用linux系统的命令stty –echo。它代表不显示输入内容,源码例如以下。

//in windows

#include<stdio.h>

#include<conio.h>

int main(){

char c;

printf("input a char:");

c=getch();

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

return 0;

}

//in linux

#include<stdio.h>

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)