易语言 【寻找文本】命令的bug

简介: 最近在重写易语言模块的时候,在取子文本操作时老是出错,经常出现一些奇怪的问题,一开始以为是代码问题,可是找半天硬是找不到问题所在。 于是进入了找bug模式,这么几行代码,看了我半个小时,左改右改,总感觉没问题。

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

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

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

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

嗯,开始运行。

惊不惊喜!意不意外!

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

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

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

好的,那继续。

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

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

WTF???

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

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

 

真正重要的东西,用眼睛是看不见的。
相关文章
|
11月前
|
SQL JSON 前端开发
【改BUG】项目遇到的奇葩bug
【改BUG】项目遇到的奇葩bug
|
4月前
|
开发者 C++ UED
你以为的Bug VS 实际的Bug:解密程序开发中的意外之旅
作为开发者,我们在日常开发过程中经常会遇到各种各样的Bug,有些Bug可能很容易发现并解决,但也有一些Bug让人感到困惑摸不到头脑,甚至是无厘头Bug,就像我们以为的Bug与实际的Bug之间的差异一样,让人头大。所以我们在日常开发过程中,一定要细心、细致、细顾,在面对任何Bug的时候都要抱着敬畏的心态去解决,因为我们永远不知道在实际程序开发中的意外是啥,有什么意外在等着我们去发现和解决。那么本文就来讨论分享一下开发者在工作过程中遇到的“你以为的Bug”与“实际的Bug”之间的差异在哪里?,然后通过一个有趣的比喻,我们将深入分析这些不同类型的Bug,还有就是在解决问题时的重要性和挑战。
57 1
你以为的Bug VS 实际的Bug:解密程序开发中的意外之旅
|
安全 Linux 编译器
linux下c语言内存检测神器asan,专治各种疑难杂症
linux下c语言内存检测神器asan,专治各种疑难杂症
linux下c语言内存检测神器asan,专治各种疑难杂症
|
监控 NoSQL Linux
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解(一)
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解
703 0
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解(一)
|
数据采集 Shell Linux
Python初学者常犯错误及解决方法自查
Python初学者常犯错误及解决方法自查
169 0
|
存储 NoSQL IDE
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解(三)
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解
343 0
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解(三)
|
NoSQL Shell C语言
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解(二)
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解
421 0
【五、深入浅出GDB调试器】如何修复程序bug或优化代码:gdb调试器的来龙去脉与debug全方位实战详解(二)
|
Web App开发 关系型数据库 项目管理
|
架构师 测试技术 程序员
程序中的Bug是如何产生的?
  ★   Bug,总是令人讨厌的东西。那Bug是如何产生的呢?作为高级软件架构师和软件测试工程师的易哥将在这篇文章中解答这个问题。   ”   说起Bug,大家都认为它是被“写”出来的,即主要在开发阶段产生。   但其实Bug的产生最有可能是在需求阶段(意外吧!这是有统计数据证明的),且在需求阶段产生的Bug影响最大。当然,在设计、开发、使用阶段也会出现Bug。   接下来我们详细了解下Bug的相关知识。
819 0
|
程序员 开发工具 git
程序员实用工具,推荐一款代码统计神器GitStats
如果你是团队领导,关心团队的开发效率和工作激情;如果你是开源软件开发者,维护者某个repo;又或者,你关心某个开源软件或者当前开发团队的进度,那么你可以试一试gitstats。
7447 0