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;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章