如何在Linux中实现C的getch()函数?
在 TurboC++ 中,我可以使用 conio.h
中的 getch()
函数。但在Linux中,gcc不提供conio.h。如何获得getch()
的功能?
In TurboC++, I can use the getch()
function from conio.h
. But in Linux, gcc doesn't provide conio.h
. How can I get the functionality of getch()
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
试试这个
conio.h
文件:您还可以使用 ncurses 库在 gcc 中一些类似于 conio.h 的函数。
Try this
conio.h
file:You can also use the ncurses library in gcc for some functions similar to
conio.h
.如果回显到屏幕不是问题,您可以尝试使用
stdio.h
中的getchar()
。If echoing to the screen is not a problem, you could try using
getchar()
fromstdio.h
.查看诅咒:
http://en.wikipedia.org/wiki/Curses_%28programming_library%29
Check out curses:
http://en.wikipedia.org/wiki/Curses_%28programming_library%29
getch()
似乎包含在内在 curses 库中。getch()
seems to be included in curses library.根据这些解决方案 代码 您必须手动使用开源代码对于所描述的 getch() 和 getche() 函数,代码如下。
只需将其放在代码的主要方法之前即可
According to these solution code you must manually use open source code for getch() and getche() function as described the code is as following .
Just put it before your main method of code
如果出于某种原因您无法使用诅咒,请尝试以下操作:
If, for any reasons, you can't use curses, try this:
在 Unix 中,
getch()
是 ncurses 库的一部分。但我为 这个问题编写了一个解决方法,让您可以使用 getch-就像没有其他诅咒包袱的功能一样。In Unix,
getch()
is part of the ncurses library. But I wrote a workaround for this question that lets you use getch-like functionality without the rest of the curses baggage.conio.h 仅在 Dos 中存在,
对于 linux,请使用
&然后
// 在 IDE 中,您必须链接它:
例如:代码块、设置 ->编译器->链接器设置,并添加“ncurses”
conio.h is only in Dos,
for linux, use
& then
// In IDE, you have to link it:
for example: codeblocks, Setting -> Compiler -> Linker setting, and add 'ncurses'
getch()
位于libcurses
中。 curses 的使用有点复杂,因为它与底层终端有深层链接,并且必须进行初始化。带有libcurses初始化的cursesgetch()
的工作示例位于getchar() 对于向上和向下箭头键返回相同的值 (27)getch()
is inlibcurses
. the use of curses is a bit more complex because it has deep links to the underlying terminal and has to be initialized. a working example for cursesgetch()
with initialization of libcurses is in getchar() returns the same value (27) for up and down arrow keys您可以使用 libcaca 中的
getch()
等效项:You can use
getch()
equivalent from libcaca:您还可以使用系统命令来控制 Linux 中的终端,如下所示
该功能不需要用户按 Enter 键并接受用户输入而不回显 它需要您将 stdlib.h 库添加到您的代码中
注意:该功能只是适用于基于 UNIX 的操作系统
任何改进或指出代码中的任何问题将不胜
感激
You can also use system command to control the terminal in linux like this
This function does not requires the user to press enter and takes input from the user without echoing It requires you to add stdlib.h library to your code
Note : This function is only applicable to UNIX-based OS
Any improvements or pointing out any issues in the code will be appreciated
Regards
如果您想在 Ubuntu 上使用
conio.h
,请按照以下步骤操作:-sudo apt-get install git
git clone https://github。 com/zoelabbb/conio.h.git
cd conio.h
sudo mv conio.h /usr/include/
如果您遇到问题,请点击此链接:在此处输入链接说明
If you want to use
conio.h
on Ubuntu, then follow these steps:-sudo apt-get install git
git clone https://github.com/zoelabbb/conio.h.git
cd conio.h
sudo mv conio.h /usr/include/
If you are in trouble then follow this link: enter link description here