linux中运行c找不到conio.h,linux中无 conio.h的解决办法

conio.h不是C标准库中的头文件,在ISO和POSIX标准中均没有定义。conio是Console

Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。大部分DOS,Windows,Phar

Lap,DOSX,OS/2等平台上的C编译器提供此文件,UNIX和Linux平台的C编译器本身通常不包含此头文件,但已经有其兼容包,可参考:

另外大家平时主要是利用conio.h这个头文件中的getch()函数,即读取键盘字符但是不显示出来(without

echo),但是含有conio.h的程序在linux无法直接编译通过,因为linux没有这个头文件,除了利用上述的兼容包外还可以在linux采用原生的方法达到同样的效果,那就是利用linux系统的命令stty

–echo,它代表不显示输入内容,源代码如下。

//in windows

#include

#include

int main(){

char c;

printf("input a char:");

c=getch();

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

return 0;

}

//in linux

#include

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;

}

时间: 07-28

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: conio.h是一个C语言头文件,用于在Windows平台上提供控制台输入输出的函数。它提供了一些常用的函数,如getch()、putch()、clrscr()等,可以方便地进行控制台程序的开发。但是在Linux平台上,由于没有控制台窗口,因此没有conio.h头文件。在Linux上,可以使用ncurses库来实现类似的功能。 ### 回答2: conio.h是一种用于在控制台上进行文本输入和输出操作的C语言库文件。不过,在Linux操作系统并不支持conio.h库文件。 在Linux系统,我们可以使用ncurses库来进行字符终端的编程,它是一个可移植的、跨平台的屏幕控制和光标定位的API,可以实现类似于conio.h库的功能。ncurses库可以让程序员创建带有多个窗口和选项卡的图形界面,并且支持各种不同的输入方式,包括键盘和鼠标。 通过ncurses库,程序员可以实现在终端创建窗口、滚动条、对话框和菜单等,实现图形化的交互界面,进而使程序具有更好的用户体验。 总之,conio.h库是一个过时的库文件,在Linux操作系统不再被支持,同时,在Linux系统,可以使用更加先进、更具现代化的ncurses库来进行字符终端的编程,以及实现更加丰富的用户界面设计。 ### 回答3: conio.h是一个封装了各种控制台输入输出函数的C语言头文件。在Windows系统下,通过使用该头文件,可以在控制台下实现各种控制台窗口管理、文本输入输出等操作。然而,在Linux系统下,该头文件并不被默认包含在标准libc,因此在Linux系统下使用conio.h需要安装特定的库文件。 在Linux下,常用的一个conio库是ncurses,它提供了各种控制台文本模式下的图形化、屏幕管理和输入输出功能。使用ncurses库可以很方便地实现类似于Windows系统下的控制台应用。同样地,ncurses库也包含了很多控制台函数,比如获取键盘输入、屏幕清屏、调整屏幕颜色、设置光标位置等等。 使用conio.h和ncurses库,可以让Linux下的程序实现与Windows系统下相似的界面和操作方式,比如文本界面下的命令行程序、游戏、终端界面等等。尽管在最新版本的Linux系统下,桌面环境成为了主流,但是控制台开发仍然是一个重要的领域,比如很多服务器程序都是以命令行的方式运行。 总之,在Linux系统下,conio.h并不是默认包含在标准libc的,需要使用特定的库文件。通过使用conio.h和ncurses库,可以实现各种控制台下的输出和输入功能,进而实现各种命令行应用和控制台程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值