Qt 逐个字符搜索QString

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

我试图用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 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]!=“
to
t.at(i)!”“
,位它在调试时再次失败。您的cast
QString temp=(QString)t[0]工作不好,你真的需要它吗?我修改了我的代码,只声明
temp
,但没有初始化它,我还注释掉了
temp.append(t[I])
,但错误持续存在请添加一些解释,说明此代码如何解决问题