【发布时间】:2015-12-26 19:43:25
【问题描述】:
以前我在支持 #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...
我想要一个与getch() 完全相同的函数。不知道为什么我的编译器不支持头文件#include <conio.h>
在网上搜索后,我得到了this,它说cin.get(); 可能是最接近的等价物,但这两者的不同之处在于,如果我们写getch(),它不会显示在控制台上输入的字符,而如果我们使用cin.get() 输入一个字符,它会在控制台上显示该字符。我不希望角色显示在控制台上。
使用getchar() 也会在控制台上显示字符。
【问题讨论】:
-
当您学习古老的、特定于平台的 API 而不是标准 C++ 时,就会发生这种情况。
-
conio和curses都不是标准 C 库。第一个用于 windows,另一个用于 linux(尽管可能存在反之亦然的实现)。 -
请选择C和C++之一。
-
@WeatherVane
curses是一个工业标准库(SUS 的一部分)而不是“用于 Linux”,它是一个可在无数操作系统上运行的高度可移植的软件。