Qt 逐个字符搜索QString
我试图用while循环逐个字符地解析QString,但我不知道如何将单个字符解析为char类型。这是我的代码,我知道它不是最优的:Qt 逐个字符搜索QString,qt,char,qstring,Qt,Char,Qstring,我试图用while循环逐个字符地解析QString,但我不知道如何将单个字符解析为char类型。这是我的代码,我知道它不是最优的: QString temp = (QString)t[0]; int i = 1; while (t[i] != " "); { temp.append(t[i]); i += 1; } 我见过使用toLocal8bit功能的铸造,但无论我尝试什么,我都无法使其适应我的代码 Qt Creator显示此错误: error: conversion fr
QString temp = (QString)t[0];
int i = 1;
while (t[i] != " ");
{
temp.append(t[i]);
i += 1;
}
我见过使用toLocal8bit
功能的铸造,但无论我尝试什么,我都无法使其适应我的代码
Qt Creator显示此错误:
error: conversion from 'const char [2]' to 'QChar' is ambiguous
为了配合
while
函数调用为什么不试试:
QString test = "test";
for(int i = 0; i< test.length(); i++)
{
if (test.at(i) != " ")
test.at(i).toLatin1();
}
QString test=“test”;
对于(int i=0;i <代码> > p>可以使用C++ 11范围为循环
for (auto chr : text)
{
if (!chr.isDigit()) // for exmpl.
return false;
}
考虑到t[x]
似乎指的是某种字符,因此(QString)t[0]
的演员阵容似乎非常可疑。Qt创建者毫无问题地接受了这一角色阵容。最初它给了我一个错误,没有在函数中使用,但仍然给了我相同的错误:“错误:从‘const char[2]”到‘QChar’的转换是不明确的”这段代码对我来说运行起来很有魅力,你修改了吗?请随意粘贴您的实际代码(或其中的一部分),而不是代码片段。是的,我通过更改t[I]!=“
tot.at(i)!”“
,位它在调试时再次失败。您的castQString temp=(QString)t[0]代码>工作不好,你真的需要它吗?我修改了我的代码,只声明temp
,但没有初始化它,我还注释掉了temp.append(t[I])
,但错误持续存在请添加一些解释,说明此代码如何解决问题