gpt4 book ai didi

c++ - 从 std::cin.get 读取用户输入

转载 作者:行者123 更新时间:2023-11-28 06:03:46 25 4
gpt4 key购买 nike

我创建了一个 DLL 来打开控制台并读取用户的输入..

现在我在读取用户输入时遇到问题,当输入是与函数一起列出的值时,代码会调用该函数。

这是我的代码:

void UserTest::Menu() {
char UserInput[256];

centerstring(" <<- Functions ->>\n\n");

centerstring("<<- VEHICLE ->>\n");
centerstring("<<- KEYBIND ->>\n");
centerstring("<<- EXECUTE ->>\n");
centerstring("<<- CLEAR ->>\n");

std::cin.clear();
std::cin.sync();

std::cin.get(UserInput, 256);

if (UserInput == "CLEAR"){
UserTest::ClearConsole();
UserTest::Menu();
}else{
if (UserInput == "VEHICLE"){
centerstring("<<- VEHICLE ->>\n");

UserTest::PreCallVehicle(UserInput);
}else{
if (UserInput == ("EXECUTE")){
centerstring("<<- SCRIPT ->>\n");

UserTest::PreCallScript(UserInput);
}else{
if (UserInput == "KEYBIND"){
centerstring("<<- KEYBINDS ->>\n\n\n");

UserTest::PreCallKeybind();
}else{
UserTest::ClearConsole();
centerstring("<<- ERROR ->>\n");
}
}
}
}

最佳答案

错误是使用 operator== 来比较两个 char*。虽然这会编译,但它肯定不是您期望的那样,因为它比较的是指针的值,而不是字符串。

要进行适当的比较,请使用 std::string,或者,如果您必须使用原始 C 风格字符串,请使用 srncmp()。

关于c++ - 从 std::cin.get 读取用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32786861/

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