[震惊] snprintf 里面的 %s 建议加上 ' '

楼主: Wardyal (Wardyal)   2025-10-08 17:13:08
我刚刚解了这个 bug 解了半小时
就是我 snprintf(cmd, sizeof(cmd), "linux_tool -n -v %s %s", v1, v2);
然后 system(cmd); 一直错
应该说跑不起来
结果就一直看一直找哪里有问题
最后发现我手贱
把第一个 v1 值设定成 "test name"
结果我最后跑指令就变成带入三个参数
干 在这边建议你是要用 snprintf 去跑 linux command
加个 ' '
snprintf(cmd, sizeof(cmd), "linux_tool -n -v '%s' '%s', v1, v2);
这样比较不容易有问题
大概吧
作者: ansra42   2025-10-08 17:14:00
\"
作者: rrraaayyy (机智看剧生活)   2025-10-08 17:14:00
谢谢你的经验分享
楼主: Wardyal (Wardyal)   2025-10-08 17:14:00
我少打一个"了

Links booklink

Contact Us: admin [ a t ] ucptt.com