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

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

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

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

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

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

嗯,开始运行。

惊不惊喜!意不意外!

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

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

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

好的,那继续。

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

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

WTF???

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

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

 

真正重要的东西,用眼睛是看不见的。
相关文章
|
数据安全/隐私保护
如何将其他注册商处的域名申请转出并转入阿里云(图文教程)
随着越来越多的用户使用阿里云产品搭建自己的网站或者部署APP等项目,将其他注册商处注册的域名转入阿里云就成了很多用户的需求,毕竟将域名和云服务器等产品都放在阿里云既方便自己管理,同时又更加放心,避免出现其他小服务商“跑路”导致自己无法管理、续费域名的情况出现。下面就以图文教程的方式给大家介绍下如何将其他注册商处的域名申请转出并转入阿里云。
如何将其他注册商处的域名申请转出并转入阿里云(图文教程)
|
8月前
|
监控 安全 大数据
无人机场航站楼解决方案
本系统由旅客服务云平台、消费数据云平台、行李数据云平台、监控云平台、机器人服务云平台、登机手续服务云平台、反恐与警务大数据指挥平台、应急指挥大数据平台、安检大数据云平台、容灾备份系统、环境监测系统及登机云平台等组成。各平台通过数据交互,实现旅客服务、安全检查、值机办理、行李管理、应急指挥等功能,确保机场运营高效、安全。特别是反恐、逃犯抓捕和超能力者管理等功能,通过多源数据融合与智能分析,提供全方位的安全保障。登机云平台则负责处理旅客登机流程中的各项数据,确保旅客顺利登机。
|
数据安全/隐私保护
BUUCTF---神秘龙卷风1
BUUCTF---神秘龙卷风1
|
前端开发 数据安全/隐私保护
vue3表单参数校验+正则表达式
vue3表单参数校验+正则表达式
|
存储 算法 索引
从点云重建表面 Surface Reconstruction from Point Clouds
从点云重建表面 Surface Reconstruction from Point Clouds
853 3
|
Java C语言
Java中的数组,你知道多少细节?
Java中的数组,你知道多少细节?
121 1
|
缓存 监控 异构计算
|
消息中间件 存储 Linux
嵌入式Linux系统中SPI 子系统基本实现
嵌入式Linux系统中SPI 子系统基本实现
308 0
|
人工智能 Rust 前端开发
2023编程语言趋势
Python持续霸榜,PHP依旧颓势,Java雄风不再,Rust热度不减,汇编迅速崛起,C语言地位稳固
534 0
2023编程语言趋势
|
编解码 Linux
基于瑞芯微RV1109 Linux串口驱动调试心得(给正点原子DS100示波器点赞!)
基于瑞芯微RV1109 Linux串口驱动调试心得(给正点原子DS100示波器点赞!)
432 0