我是靠谱客的博主 典雅眼睛,最近开发中收集的这篇文章主要介绍12.Qt中字符串相关处理1 QT字符串 QString 转换为 char * 字符串,必须分成2步2 QT中取出指定字符串的子串。3 将16进制字符串, 转换为整数.4 std::string与QString之间转换5 将字符串数字后面的问号去掉,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1 QT字符串 QString 转换为 char * 字符串,必须分成2步
因为 s.toStdString(), s.toLatin1()等等,都有一个问题,他的返回值必须保存,并没有存储在常量区。 连着写即为空。切记。
2 QT中取出指定字符串的子串。
QString s1 = “helloworld”; //取出"elloworld"字符串
s1.mid(1, s1.size()-1); //从某个下标开始,截取长度
3 将16进制字符串, 转换为整数.
c 语言函数 , strtol,
char buffer[20]="103793";
char *stop;
printf("%dn",strtol(buffer, &stop, 10)); //10 表示10进制,16进制等
printf("%sn", stop);
char buffer[20] = "ffaaee"; //可以进行 strtol(buffer, &stop, 16); //转换为整数.
注意:字符串以0x(或者0X)开头,那么,x(或者X)被忽略,字符串按16进制转化。如果base不等于0和16,并且字符串以0x(或者0X)开头,那么x被视为非法字符。
4 std::string与QString之间转换
将string 转换为QString
string str = "hello";
QString::fromStdString(str);
将QString转换为string
QString str;
string s = str.toStdString();
5 将字符串数字后面的问号去掉
QString str = str1.replace('?', "");
QString str1 = tmpStr.replace(QRegExp(":t"), " ").replace(QRegExp("\("), "").replace(QRegExp("\)"), "").replace(QRegExp("\["), "").replace(QRegExp("\]"), "");
最后
以上就是典雅眼睛为你收集整理的12.Qt中字符串相关处理1 QT字符串 QString 转换为 char * 字符串,必须分成2步2 QT中取出指定字符串的子串。3 将16进制字符串, 转换为整数.4 std::string与QString之间转换5 将字符串数字后面的问号去掉的全部内容,希望文章能够帮你解决12.Qt中字符串相关处理1 QT字符串 QString 转换为 char * 字符串,必须分成2步2 QT中取出指定字符串的子串。3 将16进制字符串, 转换为整数.4 std::string与QString之间转换5 将字符串数字后面的问号去掉所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复