Bug目录

cpp 复制代码
if (c > '0' && c <= '9')
 { string addCmd = "0" + c; }

代码错误:

  • "0"const char[2]

  • 会退化为 const char*

  • 所以本意是想加入 "0"实际变成了 指针偏移 ;会一直匹配到\0为止 出现未知的错误;

  • c == '1'(ASCII 49)那就是 "0" + 49 → 直接飞出字符串范围

  • 不是字符串拼接 ,而是指针运算,行为完全不可控

优化:

  1. std::string addCmd = std::string("0") + c; 转为string 类型 即可;

  2. std::string addCmd(1, '0');

addCmd.push_back(c);

相关推荐
jiedaodezhuti1 天前
秒级定位线上Bug的一些命令
bug
l1t3 天前
修改一个触发PostgreSQL 17.2 bug的SQL
sql·postgresql·bug
包小黑3 天前
【Linux】bug登记好习惯:发现bug,用命令行截取对应日志
linux·bug
癫狂的兔子5 天前
【BUG】【Python】逆序取值为空
bug
癫狂的兔子5 天前
【BUG】【Python】精确度问题
python·bug
癫狂的兔子5 天前
【BUG】【Python】合并两个列表
bug
癫狂的兔子5 天前
【BUG】【Python】eval()报错
python·bug
余生H5 天前
Ai编程翻车修车记3 -一次因为移除监听器失败导致bug后的DOM事件深入学习
学习·bug·ai编程
癫狂的兔子5 天前
【BUG】【Python】list切片和list.reverse()的区别
bug