」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 C++ system() 執行參數包含空格的外部應用程式?

如何使用 C++ system() 執行參數包含空格的外部應用程式?

發佈於2024-11-08
瀏覽:768

How to Execute External Applications with Arguments Containing Spaces Using C   system()?

C system() 呼叫因包含空格的多個參數而失敗

在C 中透過system() 呼叫外部應用程式時,請確保正確處理下列參數至關重要:包含空格。如果可執行路徑和參數都包含空格,則可能會發生錯誤。

底層錯誤機制

system()本質上使用cmd /C執行指定的指令。處理命令列時,cmd 遵循有關引號字元的某些規則。預設情況下,它會刪除前導和尾隨引號,將剩餘的字串視為可執行檔名稱。

解決錯誤

要解決此問題,該命令必須包含在一組附加的雙引號:

system("\"\""CMD\"" \""ARG1\"" \""ARG2\"\"");

這個多出來的引用等級確保cmd 正確解釋每個參數,無論是否存在空格。

替代方法

另一種方法涉及使用批次檔來執行具有所需參數的命令。 EXECUTABLE_NAME ARG1 ARG2

cd PATH_TO_DIR
EXECUTABLE_NAME ARG1 ARG2

其他注意事項

為了確保與不同環境和 shell 實現的兼容性,建議在使用 system() 時包含 /S 開關。此開關強制 cmd 嚴格依據 cmd 文件中所述的情況 2 解析命令列。

範例:

system("cmd /S /C \"\" "CMD\"" \""ARG1\"" \""ARG2\"\"" );
            
最新教學 更多>
  • 為什麼應該始終向環境變數添加類型安全性?
    為什麼應該始終向環境變數添加類型安全性?
    一點背景 如果您已經編碼了一段時間,您就會知道環境變數的重要性及其所扮演的角色,以及找出由於專案中未設定該死的環境變數而導致的錯誤的痛苦, 哈哈! 今年早些時候,我在一家基於產品的新創公司擔任全端開發人員實習生。隨著專案的成長,環境變數的數量也隨之增加。而且,每個人都在不同的分支...
    程式設計 發佈於2024-11-08
  • Java 程式語言的歷史
    Java 程式語言的歷史
    Java 是世界上最受歡迎的程式語言之一,以其多功能性、可靠性和效率而聞名。它多年來的發展和成長塑造了我們今天使用的大部分技術。回顧一下 Java 的歷史。 1。 Java 的起源 Java 由 James Gosling 與 Mike Sheridan 和 Patrick Naughton 一起...
    程式設計 發佈於2024-11-08
  • React 函式庫簡介:)
    React 函式庫簡介:)
    It is a popular open-source JavaScript library used for building user interfaces, particularly single-page applications (SPA). Isomorphic Tech...
    程式設計 發佈於2024-11-08
  • 如何使用連結開啟本機資料夾?
    如何使用連結開啟本機資料夾?
    透過連結開啟本機資料夾透過連結開啟本機資料夾進行了多次嘗試,例如: 開啟資料夾
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 和 jQuery 中無縫存取 PHP 變數?
    如何在 JavaScript 和 jQuery 中無縫存取 PHP 變數?
    在JavaScript 或jQuery 中存取PHP 變數:避免Echo 過載許多開發人員遇到在JavaScript 和jQuery 中存取PHP 變數的挑戰。傳統方法涉及回顯 PHP 標籤內的變量,例如:<?php echo $variable1; ?> <?php echo $...
    程式設計 發佈於2024-11-08
  • 如何使用 RequireJS 解決 JavaScript 中的「require is not Defined」錯誤?
    如何使用 RequireJS 解決 JavaScript 中的「require is not Defined」錯誤?
    “Javascript require() 函數給出ReferenceError: require 未定義”當嘗試在JavaScript 中使用require() 函數時,可能會出現引用錯誤「未定義要求」。這個問題的根本原因是 require() 函數是由模組載入器提供的,例如 RequireJS。...
    程式設計 發佈於2024-11-08
  • 為什麼我的 `` 元素不繼承其父元素的字體樣式?
    為什麼我的 `` 元素不繼承其父元素的字體樣式?
    字體繼承不相容在CSS中,元素繼承其父元素的字體屬性,例如元素。但是, 元素並不總是遵循此規則。 在提供的範例中, 和 元素共用 Verdana 字體,但 元素顯示為「MS殼牌Dlg」。這是因為表單元素(包括 )具有預設字體設置,該設定會覆蓋繼承的字體屬性。 覆寫預設字型確保所有字型繼承一致元素...
    程式設計 發佈於2024-11-08
  • 整合與端到端(E 測試:了解它們的差異以及何時使用它們
    整合與端到端(E 測試:了解它們的差異以及何時使用它們
    在软件开发中,测试在确保应用程序到达最终用户之前的可靠性和性能方面发挥着至关重要的作用。由于可用的测试方法多种多样,因此了解哪种方法适合您的需求非常重要。两种广泛使用的测试方法是集成测试和端到端(E2E)测试。两者都旨在验证系统是否正常工作,但他们从不同的角度进行验证。在这篇文章中,我们将探讨集成...
    程式設計 發佈於2024-11-08
  • 初級後端開發人員尋求無償工作以獲得經驗
    初級後端開發人員尋求無償工作以獲得經驗
    大家好, 我叫 Harith,是初級後端開發人員。我對使用 Python 和 Django 框架進行 Web 開發非常感興趣。我希望透過為開源專案做出貢獻來獲得更多實務經驗。 我提供什麼: 願意在沒有任何報酬的情況下參與項目,因為我的主要目標是提高我的技能和拓寬我的知識。 了解 Django 和...
    程式設計 發佈於2024-11-08
  • 如何在 Python 中檢查清單是否共用任何項目?
    如何在 Python 中檢查清單是否共用任何項目?
    在Python 中測試清單是否共用任何項目簡介在Python 中處理多個清單時,通常需要確定是否有元素重疊在這些列表之間。這是各種數據分析和操作任務的基本操作。 簡答在 Python 中測試列表重疊的建議方法是利用 not set(a).isdisjoint(b ) 表達。它為此任務提供了一種普遍有...
    程式設計 發佈於2024-11-08
  • Node.js 中與 WebSockets 和 Socket.IO 的即時通信
    Node.js 中與 WebSockets 和 Socket.IO 的即時通信
    现代 Web 应用程序通常需要实时通信,无论是聊天系统、实时更新、协作编辑还是通知。传统的 HTTP 通信不足以满足实时应用程序的需要,因为它依赖于请求-响应模式。这就是 WebSockets 发挥作用的地方,它允许服务器和客户端之间进行全双工通信。 在本文中,我们将探讨: WebSocket 是什...
    程式設計 發佈於2024-11-08
  • 如何解決使用 JavaScript 更改 iframe src 的問題
    如何解決使用 JavaScript 更改 iframe src 的問題
    使用 JavaScript 更改 iframe src:疑難排解點擊單選按鈕時更改 iframe 的 src 屬性時遇到問題。要糾正此問題,必須檢查代碼以確定確切的原因。一個可能的問題是括號的錯誤使用。 在您的程式碼中,該行:document.getElementById['calendar'].s...
    程式設計 發佈於2024-11-08
  • 為什麼 `window.onscroll` 在 iPhone/iPad 上不起作用?
    為什麼 `window.onscroll` 在 iPhone/iPad 上不起作用?
    在iPhone/iPad 上使用滾動事件捕獲事件嘗試在iPad 上捕獲滾動事件時,故障排除工作揭示了常見的方法例如window.onscroll 和document.onscroll 無法觸發所需的反應。 瞭解 iOS 上的事件處理裝置iPhoneOS 事件處理機制與傳統桌面瀏覽器不同。在連續的一指...
    程式設計 發佈於2024-11-08
  • 癮君子 # 何時使用效果、Angular DI 功能、請求快取等
    癮君子 # 何時使用效果、Angular DI 功能、請求快取等
    ?嘿,Angular Addict 夥伴 這是 Angular Addicts Newsletter 的第 30 期,這是一本每月精選的引起我注意的 Angular 資源合集。 (這裡是第29期、28期、27期) ?發佈公告 ?Nx 19.8 更新 ...
    程式設計 發佈於2024-11-08
  • 從開發人員到審閱者:初級開發人員審閱資料庫查詢的清單
    從開發人員到審閱者:初級開發人員審閱資料庫查詢的清單
    作為開發人員,提供高品質的程式碼至關重要,這些程式碼不僅具有功能性,而且還針對效能進行了最佳化。在開發人員領域的三年裡,我從實務開發人員轉變為審閱者角色。我在審核過程中關注的關鍵領域之一是資料庫查詢優化。 為什麼關注資料庫查詢? 資料庫查詢可以顯著影響應用程式的效能。編寫得好的查詢可以有效地獲取...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3