• Qt程序设计——txt文本中获取字符串的问题


    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://zhidao.baidu.com/question/352325355.html点击打开链接

    http://blog.csdn.net/brave_heart_lxl/article/details/7186631点击打开链接


  • 相关阅读:
    OpenSSL生成rsa密钥对
    RabbitMQ工作模式
    加密解密
    MongDB优化
    java线程进程
    MongoDB数据类型
    获取指针指向的内存大小方法
    [教程] 让Mac OS 10.x.x安装在Vmware虚拟机上!
    安装好的苹果系统部分截图
    VC中MFC程序手动控制最近文件列表
  • 原文地址:https://www.cnblogs.com/pangblog/p/3327536.html
Copyright © 2020-2023  润新知