在C 中透過system() 呼叫外部應用程式時,請確保正確處理下列參數至關重要:包含空格。如果可執行路徑和參數都包含空格,則可能會發生錯誤。
system()本質上使用cmd /C執行指定的指令。處理命令列時,cmd 遵循有關引號字元的某些規則。預設情況下,它會刪除前導和尾隨引號,將剩餘的字串視為可執行檔名稱。
要解決此問題,該命令必須包含在一組附加的雙引號:
system("\"\""CMD\"" \""ARG1\"" \""ARG2\"\"");
這個多出來的引用等級確保cmd 正確解釋每個參數,無論是否存在空格。
另一種方法涉及使用批次檔來執行具有所需參數的命令。 EXECUTABLE_NAME ARG1 ARG2
cd PATH_TO_DIR EXECUTABLE_NAME ARG1 ARG2
其他注意事項
範例:
system("cmd /S /C \"\" "CMD\"" \""ARG1\"" \""ARG2\"\"" );免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3