C语言: 输出16进制文件出现很多ffffff的问题解决办法

最近由于一个小需求,需要输出16进制数到文件中,本以为是一个小小的demo就可以解决,谁知道出现了这么个情况:
image
冷静分析了一下,但凡最高位是1的情况都会多出这么多fffffff,看来是范围超界了。原来:我用来缓存数据的buffer是char型的,16进制数据当然要用unsigned char来表示,不然就会出现上述情况。
修改之后,就豁然开朗了!
image

posted @ 2022-03-08 10:58  夜行过客  阅读(1032)  评论(1编辑  收藏  举报