怎么将qstring类型的1,2,3,4赋值给qvector<int> str;
时间: 2024-02-21 09:57:16 浏览: 105
你可以使用`QString`的`split()`函数将字符串按照指定的分隔符分割成一个字符串列表,然后将每个字符串转换为整数类型并添加到`QVector<int>`中。具体实现如下:
```cpp
QString str = "1,2,3,4";
QStringList strList = str.split(",");
QVector<int> intVec;
for (const QString& s : strList) {
intVec.append(s.toInt());
}
```
以上代码将字符串"1,2,3,4"按照逗号分割成字符串列表,然后遍历字符串列表,将每个字符串转换为整数类型并添加到`QVector<int>`中。最终`intVec`中存储的是整数1、2、3、4。
相关问题
怎么将qstring类型的1,2,3,4赋值给qvector<int> str;换一种写法
您可以使用 QStringList 类型的 split() 函数将 QString 类型的 "1,2,3,4" 拆分成多个子字符串,然后将每个子字符串转换为整数类型,并添加到 QVector<int> 类型的 str 容器中。具体实现代码如下:
```cpp
QString str = "1,2,3,4";
QStringList strList = str.split(",");
QVector<int> intVec;
for (const QString& s : strList) {
bool ok;
int num = s.toInt(&ok);
if (ok) {
intVec.append(num);
}
}
```
这样,intVec 就包含了 1、2、3、4 四个整数。
如何将QVector<QVector<QString>>组合成QList<Int>
如果你想将QVector<QVector<QString>>组合成QList<Int>,你需要对嵌套的QVector进行遍历,将每个QString转换成对应的Int,然后将这些Int存储到QList中。可以使用以下代码实现这个功能:
```cpp
QVector<QVector<QString>> nestedVector;
// 假设嵌套的QVector已经初始化并填充了数据
QList<Int> intList;
for (const QVector<QString>& innerVector : nestedVector) {
for (const QString& str : innerVector) {
bool ok;
int num = str.toInt(&ok);
if (ok) {
intList.append(num);
}
}
}
```
在上面的代码中,我们首先遍历嵌套的QVector,然后遍历每个内部的QVector,将其中的每个QString转换成对应的Int,并将其添加到QList中。请注意,我们使用了QString的toInt()函数来将字符串转换为整数,并使用了一个bool变量来检查转换是否成功。如果转换成功,我们就将该Int添加到QList中。
阅读全文