你写uint32,然后str真有4个G以上长度的时候你就老实了。
写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。
如果一定要不一致,那你千万当心。
要不然不知道有多少屎要去踩。
就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。
这不是格局不格局的问题,str长度大于4…。
你写uint32,然后str真有4个G以上长度的时候你就老实了。
写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。
如果一定要不一致,那你千万当心。
要不然不知道有多少屎要去踩。
就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。
这不是格局不格局的问题,str长度大于4…。
一个2TB的移动硬盘,里面有6万张美女图片,好家伙居然有几十...
2025-06-19阅读全文 >>其神奇之处体现在:16个中医药大学的教授给同一个病人看病,1...
2025-06-18阅读全文 >>飞牛系统(J3455、16G内存) 容器管理:1Panel或...
2025-06-17阅读全文 >>谢邀~ 如果对物理仿真感兴趣的话,我觉得这个时长是可能是一辈...
2025-06-19阅读全文 >>水浒好看,就好在细节上。 所谓,细节见人品,小事见人心。 ...
2025-06-19阅读全文 >>