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

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

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

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

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

    嗯,开始运行。

    惊不惊喜!意不意外!

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

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

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

    好的,那继续。

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

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

    WTF???

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

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

  • 相关阅读:
    ubuntu 14.04 下试用Sublime Text 3
    闲来无事,温习一下快速排序法
    学艺不精,又被shell的管道给坑了
    ssh登录失败处理步骤
    linux文件权限整理
    使用ssh远程执行命令批量导出数据库到本地
    leetcode-easy-design-384 Shuffle an Array
    leetcode-easy-dynamic-198 House Robber-NO
    leetcode-easy-dynamic-53 Maximum Subarray
    leetcode-easy-dynamic-121 Best Time to Buy and Sell Stock
  • 原文地址:https://www.cnblogs.com/mfrank/p/7565695.html
Copyright © 2011-2022 走看看