[震驚] 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