QString赋值给char*
时间: 2023-12-22 08:02:39 浏览: 32
可以使用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给char*赋值
可以使用QString的toUtf8()函数将其转换为char*类型,例如:
```cpp
QString str = "Hello World";
char* charStr = str.toUtf8().data();
```
注意,toUtf8()函数返回的是QByteArray类型,需要使用data()函数将其转换为char*类型。另外,charStr指针指向的数据实际上是QString对象内部的数据,因此需要注意对象的生命周期,确保在指针使用完毕后对象仍然存在。