const char*转成QString
时间: 2024-10-12 12:09:22 浏览: 33
在Qt框架中,`const char*`常用于表示C风格的字符串,而`QString`则是Qt中的Unicode字符串类。如果你想把C风格的字符串转换为`QString`,你可以使用`QString::fromLocal8Bit()`或者`QString::fromUtf8()`方法,这两个方法都接受`const char*`作为输入。
以下是示例:
```cpp
#include <QCoreApplication>
#include <QString>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
const char* cStr = "Hello, Qt!";
QString qStr = QString::fromUtf8(cStr);
// 或者使用 fromLocal8Bit() 如果cStr是本地编码的字符串
qDebug() << "C string: " << cStr;
qDebug() << "QString: " << qStr;
return a.exec();
}
```
在这个例子中,`qStr`变量现在包含了原始C字符串的内容,并且是以Qt兼容的格式存储的。
相关问题
const char * 转qstring
您可以使用QString的构造函数来将const char*转换为QString。以下是示例代码:
```cpp
const char* str = "Hello, world!";
QString qstr = QString::fromUtf8(str);
```
在上面的示例中,fromUtf8函数将const char*字符串转换为QString对象,并将其存储在qstr变量中。如果您的字符串不是UTF-8编码,您可以使用fromLocal8Bit或fromLatin1等函数来替代fromUtf8。
请注意,您需要包含QString头文件,即#include <QString>,以便使用QString类和相关函数。
char const *转qstring
将char const *转换为QString可以使用QString的构造函数:
```
QString str = QString::fromUtf8(char_const_ptr);
```
或者使用QString的 operator=() 重载运算符:
```
QString str;
str = char_const_ptr;
```
请注意,在进行转换时,您需要确保char const *是UTF-8编码的。
阅读全文