在C++中是否有与getch()等效的标准函数?

7
我知道getch不是标准的C/C++函数,但我喜欢它,因为在返回之前它不需要你按回车键。所以我想知道是否有任何等效的标准C++函数具有相同的效果(不需要按回车键)?
我已经在这个网站上阅读了类似的问题,但它们的答案都没有说明是否有标准和可移植的等效函数。

7
没有。 - R. Martinho Fernandes
如果有这样的函数,你可能已经在你所阅读的一些答案中看到它被使用了。 - jrok
我认为很难达到标准,因为标准并没有说明控制台何时将数据提供给你的程序。 - RiaD
为什么不使用fopen(stdin)和fgetc()的组合呢? - bkausbk
fgetc(stdin)getchar() 的作用完全相同,大多数实现都是行缓冲的(也就是说,等待用户按下“回车”键)。 - Mats Petersson
1
使用 cin.get(); <br> 如建议 <a href="https://dev59.com/IXM_5IYBdhLWcg3wcSt_#4456902"> 这里</a>。 - user3645550
2个回答

6

如果您使用“curses”库之一,例如ncurses,则有一个类似于便携式的等效物。


0

使用ncurses。它是现有最好、最简单的替代方案。

示例代码:

#include <ncurses.h>

 int main()
 {  
   initscr();                   /* Start curses mode          */
   printw("Hello World !!!");   /* Print Hello World          */
   refresh();                   /* Print it on to the real screen */
   getch();                     /* Wait for user input */
   endwin();                    /* End curses mode        */

   return 0;
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接