[英]QString to std::string to const char* conversion does not work in assignment
[英]QString to const std::string
我想将QString中的值分配给const std :: string
QString qfile("some value");
这是const std :: string变量
const std::string file
我正在使用的代码
file = qfile.toStdString();
上面的代码对于正常的std :: string可以正常工作。 但是由于关键字“ const”而存在一些问题。 我该如何解决?
不要使用赋值运算符初始化std::string
对象,而是直接初始化变量。
const std::string file = qfile.toStdString();
除此之外,请确保您知道QString::toStdString()
使用的编码方式。 与QString
不同, std::string
与编码无关(它是字节字符串,而不是字符)。
常量是具有固定值的表达式。
您还可以通过复制toStdString()
的返回值来摆脱const
:
QString str("text");
std::string std_str(str.toStdString());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.