QString赋值给char*
时间: 2023-12-22 20:02:39 浏览: 80
可以使用QString的toUtf8()函数将QString转换为char*类型,例如:
```c++
QString str = "Hello world";
char* cstr = str.toUtf8().data();
```
这里的toUtf8()函数将QString转换为UTF-8编码的QByteArray类型,再使用data()函数获取其数据指针,最终赋值给char*类型的变量。需要注意的是,data()函数返回的指针只在QByteArray对象存在的生命周期内有效,因此在使用cstr之前不能销毁str对象。
相关问题
Qstring赋值给char*
可以通过QString类的toUtf8()函数获取对应的QByteArray类型数据,再通过QByteArray类的data()函数获取其指针,最终赋值给char*类型变量。
示例代码如下:
```c++
QString str = "Hello World!";
QByteArray ba = str.toUtf8();
const char* cstr = ba.data();
```
QString 转 const char*
可以使用QString的toUtf8()方法将QString对象转换为const char *类型的字符串。
例如:
```c++
QString str = "Hello, world!";
const char *cstr = str.toUtf8().constData();
```
这个例子中,我们将QString对象str转换为UTF-8编码的const char *类型字符串,并将其赋值给cstr变量。
阅读全文