zoukankan      html  css  js  c++  java
  • 字符串截取问题

    之前在一个有关网络通信模块的项目中,遇到了有关字符串截取的问题。

    定义一个发送某个信息的帧协议。其中一部分是定长的字符串,假定为30个字节大小,多余字节补0;

    解析过程:

    获取要解析的字符串

    1. 每次偏移指定的字节数,获取相应的信息
    2. 假定要解析的字符串为char* data;,解析上述定义的字符串的偏移量为x

    截取需要的字符串:

    QString str = QString::fromUtf8(data + x, 30);

    这个解析方法是错误的。这个就获得了一个固定大小的字符串(30字节),而字符串比较大小会比较字节大小,

    并且0在字符串中是不显示的,这就会导致一个不明显的错误。

    正确的解析方法是:

    QString str = QString::fromUtf8(data + x);

    只要需要解析的字符串大小在30字节之内,并且多余字节补0的情况下,该方法就能正确解析所需要的字符串。

  • 相关阅读:
    qsort
    strcmp
    LotteryDrawing
    retire or not retire ? is a question.
    alloc && afree
    strlen
    c point
    c point ccccc
    MySQL MGR源码分析2
    MySQL MGR实现分析
  • 原文地址:https://www.cnblogs.com/zhugaopeng/p/8186306.html
Copyright © 2011-2022 走看看