Chinaunix首页 | 论坛 | 博客

OS

  • 博客访问: 2224773
  • 博文数量: 691
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2660
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-05 12:49
个人简介

不浮躁

文章分类

全部博文(691)

文章存档

2019年(1)

2017年(12)

2016年(99)

2015年(207)

2014年(372)

分类: 嵌入式

2014-12-06 22:25:15

QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项。因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心眼了。因为在使用QString对文本读取时,使用的是Unicode编码,这时,一个汉字占2个字节,一个字母占一个字节,一个数字占一个字节。

 以以下代码作为示例:

QString str("我的csdn博客");
str.size(); //返回值8 str.left(3); //返回值   “我的c” str.mid(2,3); //返回值   “csd”

从以上可以看出,QString中的成员函数计算的是字符的个数

 当使用QByteArray时,

QString str("我的csdn博客");
QbyteArray ba=str.toAscii();
str.size(); //返回值12 str.left(4); //返回值   “我的” str.mid(2,4); //返回值   “的cs”

 可以看出,QByteArray中的成员函数计算的是字节的个数

 所以,在需要准确获得txt中的字符时,要注意txt的格式,根据txt的格式使用相应的方法获取需要的字符串。

 结束语:其中的缘由本人也还未搞清楚,可能与qt中的编码有深厚的关系,有时间再来分析,可参见如下链接:

 

 http://blog.csdn.net/brave_heart_lxl/article/details/7186631

阅读(758) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~