C++ std::string转Qstring
时间: 2024-04-15 13:22:26 浏览: 130
C++中的std::string和Qt中的QString是两种不同的字符串类型,它们之间的转换可以通过以下方法实现:
1. 将std::string转换为QString:
可以使用QString的fromStdString()函数将std::string转换为QString,示例代码如下:
```cpp
std::string str = "Hello";
QString qstr = QString::fromStdString(str);
```
2. 将QString转换为std::string:
可以使用QString的toStdString()函数将QString转换为std::string,示例代码如下:
```cpp
QString qstr = "Hello";
std::string str = qstr.toStdString();
```
需要注意的是,这两种转换方法都需要包含相应的头文件,分别是<QtCore/QString>和<string>。
相关问题
c++ std::vector<std::string>转qt c++ qvector<qstring>
在C++中,如果你有一个`std::vector<std::string>`,它是一个标准库中的动态数组,用于存储字符串。为了将其转换为Qt中的`QVector<QString>`,你需要这样做:
```cpp
#include <QStringList>
#include <QVector>
// 假设你已经有了一个std::vector<std::string>叫vecStrings
std::vector<std::string> vecStrings = {"Hello", "World"};
// 使用QStringList构造函数将std::vector<std::string>转换为QStringList
QStringList strList(vecStrings.begin(), vecStrings.end());
// 然后你可以创建QVector<QString>并填充这个QStringList
QVector<QString> QVectorStrs(strList);
```
这里我们先创建了一个`QStringList`,然后通过它的构造函数将`std::vector<std::string>`的内容复制过去。最后,我们将`QStringList`赋值给`QVector<QString>`。
C++ QString转std::string
可以通过QString的toStdString()方法将QString转换为std::string,示例代码如下:
```c++
#include <QString>
#include <string>
int main() {
QString qstr = "Hello, world!";
std::string stdstr = qstr.toStdString();
return 0;
}
```
在上面的代码中,我们先定义了一个QString对象qstr,并将其初始化为"Hello, world!"。然后,我们调用了qstr的toStdString()方法,将其转换为std::string类型,并将其保存在stdstr中。最后,我们返回了0,程序结束。
阅读全文