gpt4 book ai didi

c - 我如何将此程序从 conio 移植到 curses?

转载 作者:IT王子 更新时间:2023-10-29 00:26:19 24 4
gpt4 key购买 nike

我在 Windows 上编写了这个简单的程序。由于 Windows 有 conio,所以它工作得很好。

#include <stdio.h>
#include <conio.h>

int main()
{
char input;

for(;;)
{
if(kbhit())
{
input = getch();
printf("%c", input);
}
}
}

现在我想将它移植到 Linux,而 curses/ncurses 似乎是正确的方法。我如何使用这些库代替 conio 来完成相同的任务?

最佳答案

#include <stdio.h>
#include <ncurses.h>

int main(int argc, char *argv)
{
char input;

initscr(); // entering ncurses mode
raw(); // CTRL-C and others do not generate signals
noecho(); // pressed symbols wont be printed to screen
cbreak(); // disable line buffering
while (1) {
erase();
mvprintw(1,0, "Enter symbol, please");
input = getch();
mvprintw(2,0, "You have entered %c", input);
getch(); // press any key to continue
}
endwin(); // leaving ncurses mode
return 0;
}

构建程序时不要忘记将 ncurses lib (-L lncurses) 标志链接到 gcc

gcc -g -o sample sample.c -L lncurses

here你可以看到 linux 的 kbhit() 实现。

关于c - 我如何将此程序从 conio 移植到 curses?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12247674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com