linux中无 conio.h的解决办法

      conio.h不是C标准库中的头文件,在ISO和POSIX标准中均没有定义。conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。大部分DOS,Windows,Phar Lap,DOSX,OS/2等平台上的C编译器提供此文件,UNIX和Linux平台的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;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏漏斗社区

代码审计| WebGoat源码审计之XXE注入

53380
来自专栏开源优测

工具篇 - JMeter组件手册04

前言 在jmeter中提供了一系列的不同的组件,每一种组件都提供了某类功能的实现,用于支持性能测试的实施。 请看下图,jmeter的核心组件构成。 ? 学习、研...

38780
来自专栏架构说

C++调用C函数

今天遇到的问题; 自己定义a.h文件 里面有一个方法 c实现的方法 然后有定义了一个b.h b.cpp文件 我引入了a.h 在b.cpp文件使用 c的方...

27740
来自专栏hotqin888的专栏

ONLYOFFICE历史版本功能的开发技术之一

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

28920
来自专栏日常分享

JSP/Servlet Web 学习笔记 DayThree

  使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用。内置对象其实是由特定的Java类所产生的。每一种内置对象都映射到一个特定的J...

10920
来自专栏大内老A

[WCF权限控制]基于Windows用户组的授权方式[上篇]

Windows用户组安全主体权限模式,顾名思义,就是将利用Windows安全系统将对应的Windows帐号所在的用户组作为该用户权限集的授权方式。认证和授权密不...

20190
来自专栏十月梦想

node表单提交POST提交

前几天给大家介绍了使用node的提交(get)获取到表单提交的内容,get提交的参数查询部分(query)可以获得到,由于get提交的内容在url显示,而po...

14740
来自专栏Python中文社区

flask 项目搭建及配置分享

作者:Tom .Lee,GitHub ID:tomoncle ,Web and cloud computing developer, Java, Golang,...

20140
来自专栏java思维导图

使用Redis单实例实现分布式锁(代码)

在同一个jvm进程中时,可以使用JUC提供的一些锁来解决多个线程竞争同一个共享资源时候的线程安全问题,但是当多个不同机器上的不同jvm进程共同竞争同一个共享资源...

15520
来自专栏difcareer的技术笔记

如何压缩ndk的so库

14070

扫码关注云+社区

领取腾讯云代金券