作者legnaleurc (CA)
看板LinuxDev
标题Re: QString 与中文字串
时间Wed Feb 18 13:04:12 2009
※ 引述《lcp (没有昵称)》之铭言:
: 後来我是用另外的方式绕过:
: QString q_str = ....
: string str = q_str.toLocal8Bit().data();
: func(str);
: 可是总觉得好像不够漂亮....:X
: 不知道有没有前辈遇到过这类的问题。
要看你的string要用在哪里
如果是用在字面用途(比方说写到档案里或是要给使用者看的资料)
最好用QString::toUtf8()
如果是用在和系统沟通(比方说std::ifstream)
才使用QString::toLocal8Bit()
如果只会在程式内部用到,不会传播到外部的话
可以考虑QString::toStdWString()
不过wchar_t有其他麻烦的地方
PS:
QString::toStdString()预设是使用QString::toAscii()
有可能漏失字元
--
自High笔记(半荒废)
http://legnaleurc.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.146.194.91
1F:推 lcp:多谢解说,我是要把路径给另一个 class,所以我用toLocal8Bit 02/18 14:17
2F:→ lcp:看来是正确的:) 02/18 14:17