qstring转为string
时间: 2024-07-14 10:00:41 浏览: 91
在C++中,`QString`是Qt库中的一个类,它用于处理Unicode字符串。如果你想要将`QString`转换为标准的`std::string`,你可以使用`QSTRING_TOStdString`宏或者`toStdString()`方法。这里是一个简单的例子:
```cpp
#include <QObject>
#include <QString>
#include <string>
QString qString = "Hello, World!";
std::string stringFromQString = qSTRING_TOStdString(qString); // 使用预定义宏
// 或者
std::string stringFromQString = qString.toStdString(); // 使用QString的方法
// 输出结果
std::cout << stringFromQString << std::endl;
```
如果你使用的是C++11或更高版本,并且你的项目链接了Qt支持,那么也可以直接使用`std::wstring_convert`和`std::codecvt_utf8_utf16`来进行转换:
```cpp
#include <locale>
#include <codecvt>
#include <string>
QString qString = "Hello, World!";
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
std::string stringFromQString = converter.to_bytes(qString.toLocal8Bit()); // 转换为宽字符,再转为UTF-8字节
// 输出结果
std::cout << stringFromQString << std::endl;
```
阅读全文