qt如何从字符串[1,2]中提取出数字1,2存入两个int变量中
时间: 2024-10-17 09:11:45 浏览: 37
在Qt中,如果你有一个包含数字的字符串列表,比如`QString str = "[1,2]"`,你可以通过一些字符串处理和解析操作将其转换为整数。这里是一个简单示例,我们将使用QList和split()函数来分割字符串,并存储每个元素到QList<int>中:
```cpp
#include <QObject>
#include <QString>
#include <QList>
#include <QChar>
// 创建一个函数来处理字符串
void extractInts(const QString &str, QList<int> &ints) {
// 使用逗号作为分隔符将字符串切割成一个个子串
QStringList parts = str.split(QLatin1Char(','));
// 遍历子串并将有效的数字转换为整数并添加到列表中
for (const QString &part : parts) {
int num;
if (part.toInt(&num)) { // 检查部分是否能被转换为整数
ints.append(num);
}
}
}
int main() {
QCoreApplication a(argc, argv);
QStringList strList = {"[1,2]"}; // 或者直接用QString str = "[1,2]";
QList<int> intList;
foreach (const QString &str, strList) {
extractInts(str, intList);
}
qDebug() << "提取后的整数: ";
foreach (int num, intList) {
qDebug() << num;
}
return a.exec();
}
```
在这个例子中,`extractInts` 函数会检查每个分割出来的子串是否可以转换为整数,如果可以,则添加到`intList`中。
阅读全文