gpt4 book ai didi

c++ - 在 C++ 中比较两个不同的值

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:07 25 4
gpt4 key购买 nike

我迭代了一个包含单词的 QByteArray。我会将数组内容与给定的单词 (QString) 进行比较。

for(QByteArray::iterator it = content.begin(); it != content.end(); it++){
if(content.at(*it) == word){
...
}
}

编译器在线提示 (if(content.at ..)) : 从 'char' 到 'const char*' 的无效转换 [-fpermissive]

我如何比较这种情况下的值?

克里斯

最佳答案

I iterate over an qbytearray which contains words from a file. I will compare each word with a given word.

感谢您的澄清。在那种情况下,1 我会转换 QByteArrayQString然后将其拆分为单独的单词,然后可以进行简单的比较。

// QByteArray is implicitly convertible to QString
QString allWords = yourByteArray;
// split the string at each whitspace or newline
QStringList aWordlist = allWords.split(QRegExp("[\s\r\n]"), QString::SkipEmptyParts)

for (QStringList::iterator it=aWordlist.begin(); it != aWordlist.end(); ++it)
{
// it points to the next word in the list
if (*it == word)
{
...
}
}

1我假设您无法更改以字节数组形式接收文件内容这一事实。否则,打开一个QFile可能会更好。并从那里阅读内容。


<罢工>

<罢工>

How can i compare the values in this case?

根据QString documentation , QString可以与 QByteArray 进行比较无需迭代。所以你可以简单地说:

QString word("Hello");
QByteArray bytes("hi");

if (word == bytes)
{
...
}

<罢工>

关于c++ - 在 C++ 中比较两个不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17306690/

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