您的位置:首页 > 其它

6_中文及字符串转换处理

2018-03-17 00:44 225 查看

中文在VS中的问题

使用QString QString::fromLocal8Bit()函数

Qt中的字符串问题

C风格字符串char*:char* cstr="abc";    包含<string.h>文件中,以空字符"\0"结束字符数组。注意转换时加不加const的问题!!!
常用字符串处理函数 :    strlen():长度        strcpy():复制    strcat():添加    strcmp():比较
C++STL的string类型:string str="abc";     包含<string>文件中,不需要使用"\0"作结束符。
常用的string函数:    length():长度    c_str():转换
Qt的QString类型:QString qstr="abd";
常用函数:    append()    toInt()    toDouble()...

QString转换string

//不能有中文
QString qstr = "abc";
string str=qstr.toStdString();

QString转换char*

先将Qstring转换为QByteArray,再将QByteArray转换为char*,注意const//不能有中文
QString str = "abc";
QByteArray ba = str.toLatin1();
char* cstr = ba.data();

string转换QString

//不能有中文
QString qstr = "abc";
string str = qstr.toStdString();

string转换char*

string str = "abc";
const char* cstr = str.c_str();

char*转换QString

使用QString构造函数进行转换,注意const//不能有中文
char* cstr= "abc";
QString qstr = QString(QLatin1String(cstr));

char*转换string

const char* c_str = "abc";
string str = c_str;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: