gpt4 book ai didi

c++ - C++读取用户输入而无需按回车键(Mac OS X),与Turbo Pascal中的readkey相同

转载 作者:行者123 更新时间:2023-12-02 10:39:14 25 4
gpt4 key购买 nike

我见过很多关于此的文章,但没有一个回答这个问题,他们给出的示例不起作用,您得到的只是更多错误消息,或者只是在其他切线处发送。不断提到ncurses,尽管有这些主张,但我找不到在OS X上可用的示例。这些示例是错误的,或者在发布之前未经过实际测试。我会在这些帖子中添加评论,但是由于我是新用户,所以我不能问他们任何问题,这也很荒谬,因为这比开始一个新主题要容易得多。

我想让程序问一个问题,等待用户输入并在不按下回车键的情况下读取每个按键,我几年前相当精通Turbo Pascal,这很容易做到,就像Pascal中的大多数事情一样,可以正常工作...我以为C++会类似,相反,您只是不断面对特定于平台的相反用例,以及从未编译过的示例。

我在OS X上使用CLion 2017.2.2。

最佳答案

这是ncurses的示例代码。我在linux下测试了它,但是它也可以在mac os下工作。

#include <stdlib.h>
#include <stdio.h>
#include <curses.h>


int main(void) {
WINDOW * mainwin;

if ( (mainwin = initscr()) == NULL ) {
fprintf(stderr, "Error initialising ncurses.\n");
exit(EXIT_FAILURE);
}

mvaddstr(13, 33, "Input: ");
refresh();
char input[2];
input[0] = getch();
input[1] = '\0';
mvaddstr(15, 33, "Your Input is: ");
mvaddstr(15, 48, input);
mvaddstr(17, 33, "Press any key to exit");
getch();

delwin(mainwin);
endwin();
refresh();

return EXIT_SUCCESS;
}

有必要针对ncurses进行链接。我使用cmake来管理我的构建:
cmake_minimum_required(VERSION 3.5)
project(ncurses)
set(CMAKE_CXX_STANDARD 11)

set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra")

find_package(Curses REQUIRED)

add_executable(ncurses main.cpp)
target_link_libraries(ncurses ${CURSES_LIBRARIES})

关于c++ - C++读取用户输入而无需按回车键(Mac OS X),与Turbo Pascal中的readkey相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52892402/

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