繁体   English   中英

QString到const std :: string

[英]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与编码无关(它是字节字符串,而不是字符)。

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

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

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

QString str("text");
std::string std_str(str.toStdString());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM