所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 nixgnauhcuy’s blog!
如需转载,请标明出处!
前言
在使用 notepad++ 时,使用插件 Hex-Editor 踩到的深坑,故此记录一下!
问题描述
移植一个开源项目时,调用写接口连续向 txt 文本写入数据类型 uint32_t (unsigned int) 的数值,本应该写入 4 个字节,但是通过 notepad++ 的插件 Hex-Editor 查看时一直只有 2 个字节,实际的文件大小是 4 个字节,与自己写入的不符,于是开启调试单步调试代码,但是又找不到问题的所在。
使用 notepad++ 查看如下图:
我实际以小端形式写入的数值应该是 01000000 共 4 个字节,但是实际从图中可以看到使用 notepad++ 的插件 Hex-Editor 查看时,只显示了 0100 共 2 个字节,然后一直以为写入的 uin32_t 数据类型在哪个地方被强制类型转换或者更改了,故一直在代码中找问题。
解决问题
最后,部门大佬给我提了个建议,换了个思路,怀疑是使用的工具的问题,所以我随后改使用 UltraEdit 查看,并且通过读取接口读取写入的数据,发现根本不是代码的问题,而是 notepad++ 的插件 Hex-Editor 的问题。
使用 UltraEdit 查看如下图:
最后,问题解决,非代码 BUG ,而是插件的小坑,故此记录下,提醒自己