我是靠谱客的博主 典雅眼睛,最近开发中收集的这篇文章主要介绍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 将字符串数字后面的问号去掉所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部