zoukankan      html  css  js  c++  java
  • 易语言 【寻找文本】命令的bug

    最近在重写易语言模块的时候,在取子文本操作时老是出错,经常出现一些奇怪的问题,一开始以为是代码问题,可是找半天硬是找不到问题所在。

    于是进入了找bug模式,这么几行代码,看了我半个小时,左改右改,总感觉没问题。

    但是吧,总是找不到原因,不设置起始搜寻位置是没问题的,但是一加上并且设置成偶数,寻找汉字就总是找不到。脑子进入了三个黑人问号的懵逼模式。

    后来仔细想想,在易语言里,一个汉字是两个字节,会不会跟这个有关。于是开始了我的实验。

    嗯,开始运行。

    惊不惊喜!意不意外!

    WTF!??哪来的海?怀着CNM的心情,又看了一次。

    这次看看字节集是什么内容,看看这片海到底是钻出来的还是哭出来的。

    找到原因了,原来寻找的时候是按单字节算的。。

    好的,那继续。

    我突然又想到另一个可能的bug。于是又进行了一次测试。

    按理来说,第八个位置是院的后一半,后面两个感叹号,不管怎样都能找到一个吧,让我们来看看结果。

    WTF???

    看到了吧,由此可见,这真的是bug,不是理解上的问题,个人估计是易语言在文本查找算法上的bug,每次跳动了两个字节进行了匹配,所以如果是从第八个字节开始匹配,那确实永远匹配不到。

    所以,爬坑结束,就这样吧,以后还是少用起始搜寻位置吧,有时候找不到文本也许并不是因为你要找的文本不在里面,而是。这命令有毒。。

  • 相关阅读:
    sfzwapp2
    linux-umount时提示device is busy时,如何查找被何进程占用?
    MySQL管理_数据库启动与关闭
    cache 比free 多
    NFS
    mysql备份多个库
    liunx修改时区,UTC 修改到CST
    mongodb备份恢复
    嵌入式新闻早班车-第24期
    【STM32H7的DSP教程】第48章 STM32H7的中值滤波器实现,适合噪声和脉冲过滤(支持逐个数据的实时滤波)
  • 原文地址:https://www.cnblogs.com/mfrank/p/7565695.html
Copyright © 2011-2022 走看看