Qt入门-字符串类QString
原地址:http://blog.csdn.net/xgbing/article/details/7770854
QString是Unicode字符的集合,它是Qt API中使用的字符串类。
QString的成员是QChar,QChar是一个16位Unicode字符类。大多数编译器把它看作是一个unsigned short。
QString和C标准中的字符串不同,它不以'\0'结尾,相反,QString可以嵌入'\0'/字符。
(1)QString初始化。
- QString str("Hello");
- QString str = "Hello";
- static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
- QString str(data, 4);
- QString str;
- str.resize(4);
- str[0] = QChar('U');
- str[1] = QChar('n');
- str[2] = QChar(0x10e3);
- str[3] = QChar(0x03a3);
- QString str;
- str.sprintf("%s %.3f", "float", 3.1415926);
- //str结果是"float 3.14"
- QString str;
- str.setNum(10); //str = "10"
- str.setNum(10, 16); //str = "a"
- str.setNum(10.12345); //str = "10.12345"
- QString i; // current file's number
- QString total; // number of files to process
- QString fileName; // current file's name
- QString status = QString("Processing file %1 of %2: %3")
- .arg(i).arg(total).arg(fileName);
(2)字符串转换
- long toLong ( bool * ok = 0, int base = 10 ) const
- qlonglong toLongLong ( bool * ok = 0, int base = 10 ) const
- short toShort ( bool * ok = 0, int base = 10 ) const
- double toDouble ( bool * ok = 0 ) const
- float toFloat ( bool * ok = 0 ) const
- uint toUInt ( bool * ok = 0, int base = 10 ) const
- ulong toULong ( bool * ok = 0, int base = 10 ) const
- qulonglong toULongLong ( bool * ok = 0, int base = 10 ) const
- ushort toUShort ( bool * ok = 0, int base = 10 ) const
参数ok结果说明转换是否成功。
示例:
- QString str;
- bool ok;
- double d = str.toDouble(&ok);
- if(ok)
- {
- cout << str << endl;
- } else
- {
- cout << "error." << endl;
- }
(3)字符串比较
- int compare ( const QString & other ) const
- int compare ( const QString & other, Qt::CaseSensitivity cs ) const
- int compare ( const QLatin1String & other, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
- int compare ( const QStringRef & ref, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
- QString().isNull(); // returns true
- QString().isEmpty(); // returns true
- QString("").isNull(); // returns false
- QString("").isEmpty(); // returns true
- QString("abc").isNull(); // returns false
- QString("abc").isEmpty(); // returns false
(4)字符串处理
QStringleft ( int n ) const //取左边的n个字符。
QStringright ( int n ) const //取右边的n个字符。
replace()函数提供方法替换字符串。
remove()函数从字符串中移除字符。
split()函数拆分字符串。
mid()取子串。
Qt入门-字符串类QString的更多相关文章
- 字符串类QString
采用Unicode编码,所以一个QChar占用两个字节使用隐式共享技术来节省内存和减少不必要的数据拷贝跨平台使用,不用考虑字符串的平台兼容性QString直接支持字符串和数字之间的相互转换QStrin ...
- 第11课 Qt中的字符串类
1. 历史遗留问题和解决方案 (1)历史遗留问题 ①C语言不支持真正意义上的字符串 ②C语言用字符数组和一组函数实现字符串操作 ③C语言不支持自定义类型,因此无法获得字符串类型 (2)解决方案 ①从C ...
- Qt常用类——Qstring
Qstring有一些方面跟C/C++中的string的使用,例如把一个字符串追加到另一个字符串中,也是用“+”.也有append函数等. 下面是是Qstring的一些常用的具体函数示例: Qt的QSt ...
- Qt比较字符串Qstring是否相等
Qt比较字符串Qstring是否相等 QString str = "相等"; if(str ==QString::fromLocal8Bit("球形")) { ...
- 为什么不用C++写游戏(聪明的程序员不用C++折磨自己)(这些工作,QT都替开发者解决了,C++没有根类导致太多的问题,也没有字符串类)
当今世界上绝大多数游戏都是C++写的,为什么要说不呢? 要做什么?写游戏. 写游戏首先要考虑些什么?做什么样的游戏,图形.音效.游戏逻辑如何实现. 用C++要先考虑什么?定义跨平台数据类型抽象,实现常 ...
- Qt入门(12)——Qt国际化
应用的国际化就是使应用成为能被非本国的人使用的过程.有的情况下,国际化很简单,例如,使一个US应用可被Australian或者British用户理解,工作可能少于几个拼写修正.但是使一个US应用可以被 ...
- Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析
转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...
- QT json字符串生成和解析
1 QT json字符串生成和解析 1.1 QT Json解析流程 (1) 字符串转化为QJsonDocument QJsonParseError json_error; QJso ...
- Qt 格式化字符串
Qt字符串格式化性能比较 Qt字符串格式方法有三种, QString::arg(), QString::sprinft()和QStringList::join().今天我做了个简单的性能测试, 希望对 ...
随机推荐
- libpng causes error concerning pngconf.h
Bug Description Ubuntu Gutsy Gibbon 7.10 - libpng 1.2.15~beta5-2ubuntu0.1 (bug probably concerned wi ...
- PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门
XPAth技术 XPath的设计的核心思想,可以通过xpath迅速简介的定位到你希望查找的节点.主要目的是描述节点相对其他节点的位置,可以取得所有符合条件的节点,成为[位置路径]. Xapth主要用来 ...
- 如何成为CSDN博客专家
先看一下官方给出的要求: 申请CSDN博客专家应具备的条件: 1.原创IT类文章总数超过20篇,并且最近一个月内发布了新的原创IT类文章. 2.博客文章总的浏览量超过5万次以上. 3.文章内容的质量很 ...
- 已经上架的app(可供销售)在AppStore上搜不到的解决办法
这两天很是头大, 因为3天前手动发布的app到现在都还没在AppStore上看到,打了无数电话给苹果和发邮件给review团队. 下面说说怎么解决我们在iTunes后台看到是绿灯(可供销售)但是就是在 ...
- A - Oil Deposits(搜索)
搜索都不熟练,所以把以前写的一道搜索复习下,然后下一步整理搜索和图论和不互质的中国剩余定理的题 Description GeoSurvComp地质调查公司负责探测地下石油储藏. GeoSurvComp ...
- 机器学习笔记(一)- from Andrew Ng的教学视频
最近算是一段空闲期,不想荒废,记得之前有收藏一个机器学习的链接Andrew Ng的网易公开课,其中的overfiting部分做组会报告时涉及到了,这几天有时间决定把这部课程学完,好歹算是有个粗浅的认识 ...
- BZOJ 1060: [ZJOI2007]时态同步( 树形dp )
坑爹...数据是错的..详见discuss http://www.lydsy.com/JudgeOnline/wttl/wttl.php?pid=1060 先求根到叶子的距离最大值x, 然后把所有叶 ...
- AFNetworking 保存Cookie Session 和 Webview 共享Cookie
1, 请求并携带SessionId, 代码如下: //当请求成共后调用如下代码, 保存Cookie NSArray *cookies = [[NSHTTPCookieStorage sharedHTT ...
- Javascript常用函数收集(不定期更新)
str.replace('/正则表达式/','替换内容'); //正则替换str.match('/正则表达式/','替换内容'); //正则匹配 str.indexOf('查找代码'); //查找是否 ...
- QT全平台设置图标,全平台静态编译 good
1. 概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...