gpt4 book ai didi

c++ - qt程序中strstr的奇怪行为

转载 作者:行者123 更新时间:2023-11-28 07:00:51 25 4
gpt4 key购买 nike

我是初学者,制作了一个函数,该函数从 lineedit 获取输入并将其转换为数组,然后搜索它以查找单词。如果找到这个词,它会在标签中打印成功,否则会打印错误。问题是无论我输入什么,它每次都会打印错误。我做错了什么。

void MainWindow::on_consoleEdit_returnPressed()
{
QString text = ui->consoleEdit->text();

char enteredCmd[4096];
strcpy(enteredCmd, "Some string data");
text = enteredCmd;
//enteredCmd contains all the data that text string contains
char *open = strstr(enteredCmd, "open");

if(open != NULL) {
ui->answerLabel->setText("SUCCESS");
}
else {
ui->answerLabel->setText("ERROR");
}
}

最佳答案

你每次都在测试相同的字符串,看这个:

char enteredCmd[4096];
strcpy(enteredCmd, "Some string data");
text = enteredCmd;

这会用这个“Some string data”字符串的拷贝覆盖 text 值。

不管怎么说,你把这件事搞得很复杂了。 QString 有很多对你有用的功能。

void MainWindow::on_consoleEdit_returnPressed()
{
QString text = ui->consoleEdit->text();

if(text.contains("open")) {
ui->answerLabel->setText("SUCCESS");
} else {
ui->answerLabel->setText("ERROR");
}
}

关于c++ - qt程序中strstr的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22510494/

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