QT 在QString中 取字符串
时间: 2024-05-03 22:22:49 浏览: 15
在QString中,取字符串有多种方式:
1. 使用`left()`、`right()`、`mid()`函数获取指定位置的子字符串。例如:
```c++
QString str = "Hello World";
QString leftStr = str.left(5); // leftStr = "Hello"
QString rightStr = str.right(5); // rightStr = "World"
QString midStr = str.mid(6, 5); // midStr = "World"
```
2. 使用`toStdString()`函数将QString转换为std::string类型,然后使用std::string的操作函数获取子字符串。例如:
```c++
QString str = "Hello World";
std::string stdStr = str.toStdString();
std::string subStr = stdStr.substr(6, 5); // subStr = "World"
```
3. 使用`toLatin1()`函数将QString转换为char*类型,然后使用C语言的字符串处理函数获取子字符串。例如:
```c++
QString str = "Hello World";
const char* cStr = str.toLatin1().data();
char subStr[6];
memcpy(subStr, cStr + 6, 5);
subStr[5] = '\0'; // subStr = "World"
```
注意:以上方法都只是获取字符串的子串,并不改变原始字符串。如果需要对原始字符串进行修改,请使用QString的相关函数。