前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Qt 中 QString 和 QByteArray

Qt 中 QString 和 QByteArray

作者头像
我与梦想有个约会
发布2023-10-20 17:42:44
发布2023-10-20 17:42:44
59000
代码可运行
举报
文章被收录于专栏:jiajia_dengjiajia_deng
运行总次数:0
代码可运行

QString 是 Qt 内部的一种字符串数据类型,QString 支持多字节编码(unicode)的一个字符串类。在程序和网络之间传输数据时,其他的程序和网络另一端的程序是不能识别他这种数据类型的。所以要想将 QString 类型的数据保存到文件或发送到网络,需要转换成 QByteArray 类型才可以。

QString 像 MFC 中的 CString 一样,具备很多处理字符串的成员函数,比如 mid()、size()、isEmpty()、toFloat()、toInt()等功能,具体可以参见 Qt 帮助文档。 下面代码演示了一些比较常用的字符串处理的成员函数:

代码语言:javascript
代码运行次数:0
运行
复制
#include 
#include 
#include 
int main()
{
    // 以 UTF-8 编码
    QString str = “中国好美”;
    qDebug() << str << “size =” << str.size();
    QByteArray buf = str.toUtf8();
    qDebug() << str.toUtf8() << “QByteArray size =” << buf.size();
// 整数和字符串转换
str = QString::number(1.6); // number 是一个静态成员函数
// 字符串转换为整数或浮点数
str.toFloat();
str.toInt();

// 字符串格式化方式1
QString str2 = QString().sprintf("%d, %d", 1, 3);
qDebug() << "sprintf format =" << str2;

// 字符串格式化方式2
QString str3 = QString("%2 this %3 is %1").arg(1.5).arg(2).arg("abc");
qDebug() << "arg format =" << str3;
// 如果参数类型一样,也可以在一个arg中填写
QString str4 = QString("%2 this %3 is %1").arg("abc", str2, "def");
qDebug() << "arg format =" << str4;

// 重载了+操作符
str4 += "hello";

// 判断是否为空
str4.isEmpty();
str4.isNull();
str4.size();

// 把所有空白符、换行 \\t \\n 多个空格等都换成一个空格
str4 = "\\t adsf asdflkjahsdkjf sd    sdkjf hakjshdfkjh  \\nasdf  asdfasd a";
qDebug() << str4.simplified();

return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档