qstring 赋值给char数组
时间: 2023-08-30 22:10:26 浏览: 397
QString和char以及string之间的赋值详解
5星 · 资源好评率100%
你可以使用`strcpy`函数将`QString`赋值给`char`数组。首先,将`QString`转换为C风格字符串,然后使用`strcpy`将其复制给`char`数组。
以下是一个示例代码:
```cpp
#include <iostream>
#include <cstring>
#include <QString>
int main() {
QString str = "Hello, World!";
// 将QString转换为C风格字符串
QByteArray byteArray = str.toLocal8Bit();
const char* cStr = byteArray.constData();
// 分配足够的空间来存储C风格字符串
char cArray[100];
// 将C风格字符串复制给char数组
strcpy(cArray, cStr);
// 打印char数组
std::cout << cArray << std::endl;
return 0;
}
```
在上面的示例中,我们首先使用`toLocal8Bit`函数将`QString`转换为`QByteArray`类型,然后使用`constData`函数获取其C风格字符串表示。接下来,我们声明了一个足够大的`char`数组来存储C风格字符串,并使用`strcpy`函数将其复制给该数组。最后,我们打印了该数组的内容。
请注意,在使用`strcpy`函数时,请确保目标数组具有足够的空间来存储源字符串,以避免缓冲区溢出错误。
阅读全文