我遍历一个包含文件中单词的 qbytearray。我会将每个单词与给定的单词进行比较。
感谢您的澄清。在那种情况下1我会将其转换QByteArray
为QString
然后将其拆分为单个单词,然后可以进行简单的比较。
// 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我假设您无法更改将文件内容作为字节数组接收的事实。否则,最好打开 aQFile
并从那里读取内容。
在这种情况下,我如何比较这些值?
根据QString 文档,QString
可以与QByteArray
不迭代进行比较。所以你可以简单地说:
QString word("Hello");
QByteArray bytes("hi");
if (word == bytes)
{
...
}