QString到const std :: string

时间:2012-06-27 12:25:13

标签: c++ string const qstring

我想将QString中的值赋给const std :: string

QString qfile("some value");

这是const std :: string变量

const std::string file

我使用的代码

file = qfile.toStdString();

上面的代码适用于普通的std :: string。但由于关键字'const'存在一些问题。我该如何解决?

3 个答案:

答案 0 :(得分:7)

不要使用赋值运算符初始化std::string对象,而是直接初始化变量。

const std::string file = qfile.toStdString();

除此之外,请确保您了解编码QString::toStdString()使用的内容;与QString不同,std::string与编码无关(它是一串字节,而不是字符)。

答案 1 :(得分:1)

常量是具有固定值的表达式。

http://www.cplusplus.com/doc/tutorial/constants/

答案 2 :(得分:0)

您还可以通过复制const的返回值来删除toStdString()

QString str("text");
std::string std_str(str.toStdString());
相关问题