0
我嘗試編碼具有命令行參數作爲輸入的程序。當我在cmd中使用引號裏的命令行參數,像在命令行參數中使用引號
g++ -o filename.exe filename.cpp // for compiling
和
filename.exe "2 -1 0 2 -3" // run command
的答案是不正確的。但是,當我使用
g++ -o filename.exe filename.cpp // for compiling
filename.exe 2 -1 0 2 -3 // run command
答案是正確的......爲什麼會發生?有人可以提出好的建議來糾正它請....我用C++來代碼和cmd編譯並運行和測試。
引號中的任何內容都作爲** one **參數傳遞。 – Galik
CMD中的引號轉義了大部分特殊字符,但它們與CMD將*參數*傳遞給程序沒有任何關係。引用由CMD部分解析,以查找引用的文件。否則,它會被進程本身解析。 Windows程序使用命令行字符串執行,它們通常使用[C運行時解析參數](https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line -arguments)或者調用'CommandLineToArgvW',它使用類似的規則。 – eryksun