相关疑难解决方法(0)

为什么我在Linux上找不到<conio.h>?

可能重复:
如何在Linux中实现C的getch()函数?

MS-DOS Linuxconio.h头文件的等效版本是什么?

有没有办法取代它的功能?例如getch()

我正在使用gcc和文本编辑器Geany来编译C代码.

c linux gcc

64
推荐指数
4
解决办法
24万
查看次数

什么等同于Linux中的getch()和getche()?

我无法在Linux中找到conio.h的等效头文件.

在Linux中有getch()&getche()function功能吗?

我想制作一个开关盒基本菜单,用户只需按一个键即可提供选项,并且应该向前移动过程.按下他的选择后,我不想让用户按ENTER键.

c linux getch getchar getc

57
推荐指数
4
解决办法
11万
查看次数

为什么getch()在按任意键之前返回?

int main(int argc, char *argv[], char *env[])
{
    printf("Press any key to exit.\n");
    getch();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

根据手册页,

getch 应该等到按下任何键

...但实际上它在按任意键之前直接返回.(返回的值是-1).

为什么?


更新

我在Linux上.Press any key to exit.如果不使用,我该如何实施getch()

getchar() 只有在按Enter后才会返回,这不是我想要的.

c linux getch

10
推荐指数
2
解决办法
2万
查看次数

Linux 下 C 语言中 getchar 和 clrscr() 的替代

这几天我在Ubuntu上工作。当我使用 gcc 编译 C 程序时,出现错误conio.h不存在。我想使用clrscr()getch()发挥作用。你能告诉我这个头文件在linux中的替代品吗?

c linux

5
推荐指数
1
解决办法
2万
查看次数

在 C 中获取键盘中断

程序:

#include<stdio.h>
void main()
{
    int time=1800;
    while(1){
        system("clear");
        time-=1;
        printf("%d\n",time);
        sleep(1);
    if(time==0)
        pause();
    }
}
Run Code Online (Sandbox Code Playgroud)

上述程序在时间达到 0 时停止。我的要求是在程序运行期间,如果我按下空格键或任何其他键等任何键,程序将暂停,再次按下该键,程序将恢复。因此,为此,在执行 while 条件之前,我们提交键盘中断的信号处理程序。在C中如何做到这一点。

获取键盘中断的函数是什么。我不想从用户那里得到输入,我想通过键盘处理用户产生的中断。

提前致谢..,

c unix linux keyboard signal-handling

5
推荐指数
1
解决办法
1万
查看次数

conio.h getch() 的 Linux 等价物

以前,我在支持#include <conio.h>头文件的Windows 上使用 c++/c 编译器,但在我拥有的 Linux 上

gcc (Debian 4.9.2-10) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software...
Run Code Online (Sandbox Code Playgroud)

我想要一个与getch(). 我不知道为什么我的编译器不支持头文件#include <conio.h>

在网上搜索后,我得到了这个,它说这cin.get();可能是最接近的等价物,但这两者的不同之处在于,如果我们编写getch()它,则不会显示在控制台上输入的字符,而如果我们使用cin.get()它输入一个字符,则会在控制台上显示该字符安慰。我不希望字符显示在控制台上。

usinggetchar()还会在控制台上显示字符。

c++ linux getch

5
推荐指数
1
解决办法
1万
查看次数

getchar()为向上和向下箭头键返回相同的值(27)

因此,对于键盘上的向上键,我得到27,令人惊讶的是,对于向下键我也得到27.我需要我的程序在向上和向下键上表现不同,我似乎无法弄明白.我正在使用Linux,需要它才能用于Linux.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
    int c = getchar();

    if(c==27)
    {
        printf("UP");
    }

    if(c==28)
    {
        printf("DOWN");
    }

} 
Run Code Online (Sandbox Code Playgroud)

c keyboard getchar

4
推荐指数
3
解决办法
1万
查看次数

标签 统计

c ×6

linux ×6

getch ×3

getchar ×2

keyboard ×2

c++ ×1

gcc ×1

getc ×1

signal-handling ×1

unix ×1