如何将数字的QString转换为int数组?

Tho*_*mas 5 c++ qstring qt type-conversion

我有一个QString包含一系列数字的例子

QString path = "11100332001 234 554 9394";
Run Code Online (Sandbox Code Playgroud)

我想迭代可变长度字符串

for (int i=0; i<path.length(); i++){

}
Run Code Online (Sandbox Code Playgroud)

并能够int单独访问每个号码.

但是,我无法这样做.问题:如何将QString数字转换为数组int

我知道我可以将其转换QStringint使用,path.toInt()但这对我没有帮助.

当我尝试将它转换为char时,我得到一个错误:cannot convert 'const QChar to char'.

for (int i=0; i<path.length(); i++){
        char c = path.at(i);
        int j = atoi(&c);
        //player->movePlayer(direction);
    }
Run Code Online (Sandbox Code Playgroud)

You*_*ira 9

您可以使用split获取由您想要的分隔符分隔的子串数组,在这种情况下它是一个空格,这是一个示例:

QString str("123 457 89");

QStringList list = str.split(" ",QString::SkipEmptyParts);

foreach(QString num, list)
    cout << num.toInt() << endl;
Run Code Online (Sandbox Code Playgroud)


ant*_*oyo 4

您可以使用 [] 运算符获取每个字符 (QChar),并对其使用 digitalValue() 方法来获取整数。