C 中使用system() 函數運行可執行檔時參數,如果可執行檔的路徑和作為參數傳遞的檔案的路徑中都有空格,則會發生錯誤。錯誤訊息如下:
The filename, directory name, or volume label syntax is incorrect.
system() 函數透過將系統指令傳遞給 Windows 指令處理器 (cmd) 來執行系統指令。當指令包含空格時,指令處理器會將第一個和最後一個雙引號之間的所有內容解釋為單一參數。但是,在這種情況下,可執行檔案路徑周圍的雙引號和參數檔案路徑周圍的雙引號會導致衝突。
要解決此問題,需要使用一組額外的雙引號必須添加引號以括住整個命令。這樣,命令處理器會將這些最外層雙引號內的所有內容視為單一參數,即使它包含空格和其他雙引號。
<code class="cpp">system("\"\"C:\Users\Adam\Desktop\pdftotext\" -layout \"C:\Users\Adam\Desktop\week 4.pdf\"\"");</code>
<code class="cpp">system("cmd /S /C \"\"D:\test\" nospaces \"text with spaces\"\"");</code>
以上是使用 C 的 `system()` 函數時如何處理參數中的空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!