• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            https://blog.csdn.net/szu_tanglanting/article/details/14585303

            C中的命令行中如果本身參數(shù)有空格怎么處理:

             

            用“ ”來處理


            https://blog.csdn.net/zengcccc/article/details/7063483
            如題:加入一個文件的位置是在 
            C:\Documents and Settings\Administrator\桌面\1.txt 時.
            如果通過編程來索引到這個1.txt文件,并相應的對該文件做出相應, 那么程序會把該路徑C:\Documents          and                  Settings\Administrator\桌面\1.txt      解析成3個參數(shù),
            這樣就會導致程序不能正確的執(zhí)行,  該如何處理呢, 這個問題我也思考很久, 在讀了一本叫做<<C Primer Plus>>的書籍后,最后終于找到了答案.
            這句話是這么說的:
            "順便提一下,很多環(huán)境(包括UNIX和DOS)允許使用引號把多個單詞集中在一個參數(shù)里.例如:
            repeat    "I am hungry"    now  
            " 這個命令會把字符串"I am hungry"分配給argv[1],把字符串"now"分配給argv[2].
             https://docs.microsoft.com/zh-cn/previous-versions/17w5ykft(v=vs.120)

            分析 C++ 命令行參數(shù)

            Microsoft 專用

            在解釋操作系統(tǒng)命令行上給出的參數(shù)時,Microsoft C/C++ 啟動代碼使用下列規(guī)則:

            • 參數(shù)用空白分隔,空白可以是一個空格或制表符。

            • ^ 字符 (^) 未被識別為轉(zhuǎn)義符或者分隔符。 該字符在被傳遞給程序中的 argv 數(shù)組前,由操作系統(tǒng)的命令行分析器進行全部處理。

            • 無論其中是否包含空白,帶雙引號的字符串 ("string") 均被解釋為單個參數(shù)。 帶引號的字符串可以嵌入在參數(shù)內(nèi)。

            • 前面有反斜杠的雙引號 (\") 被解釋為原義雙引號字符 (")。

            • 反斜杠按其原義解釋,除非它們緊位于雙引號之前。

            • 如果偶數(shù)個反斜杠后跟雙引號,則每對反斜杠中有一個反斜杠放置在 argv 數(shù)組中,而雙引號被解釋為字符串分隔符。

            • 如果奇數(shù)個反斜杠后跟雙引號,則每對反斜杠中有一個反斜杠放置在 argv 數(shù)組中,而雙引號由剩余那個反斜杠進行“轉(zhuǎn)義”,從而將原義雙引號 (") 放置在 argv 中。

            示例

            以下程序演示如何傳遞命令行參數(shù):

            // command_line_arguments.cpp // compile with: /EHsc #include <iostream>  using namespace std; int main( int argc,      // Number of strings in array argv           char *argv[],   // Array of command-line argument strings           char *envp[] )  // Array of environment variable strings {     int count;      // Display each command-line argument.     cout << "\nCommand-line arguments:\n";     for( count = 0; count < argc; count++ )          cout << "  argv[" << count << "]   "                 << argv[count] << "\n"; } 

            下表顯示示例輸入和預期的輸出,并在前面的列表中演示規(guī)則。

            分析命令行的結(jié)果

            命令行輸入

            argv[1]

            argv[2]

            argv[3]

            "abc" d e
            abc
            d
            e
            a\\b d"e f"g h
            a\\b
            de fg
            h
            a\\\"b c d
            a\"b
            c
            d
            a\\\\"b c" d e
            a\\b c
            d
            e

            請參見

            參考

            main:程序啟動

            久久精品国产亚洲麻豆| 亚洲精品乱码久久久久久| 久久精品视屏| 人妻无码精品久久亚瑟影视| 久久精品免费全国观看国产| 久久亚洲春色中文字幕久久久| 久久久久久狠狠丁香| 色婷婷久久久SWAG精品| 久久久久AV综合网成人| 久久久久噜噜噜亚洲熟女综合 | 亚洲伊人久久综合中文成人网| 一本一本久久aa综合精品| 大蕉久久伊人中文字幕| 久久综合综合久久综合| 日韩精品久久久久久久电影| 国产精品久久久久久搜索| 国内精品久久久久影院薰衣草| 91久久九九无码成人网站| 日韩人妻无码精品久久久不卡| 久久久久亚洲精品男人的天堂| 国产精品久久毛片完整版| 久久久精品人妻一区二区三区蜜桃| 久久99国产精品久久99果冻传媒| 综合久久国产九一剧情麻豆| 久久亚洲国产成人精品无码区| 97精品久久天干天天天按摩| 99久久精品免费看国产一区二区三区 | 久久天天躁狠狠躁夜夜avapp| 2020久久精品国产免费| 久久国产成人午夜aⅴ影院| 亚洲综合伊人久久综合| 亚洲国产婷婷香蕉久久久久久| 99久久精品免费看国产一区二区三区| 久久久91精品国产一区二区三区| 国产精品无码久久综合网| 久久综合香蕉国产蜜臀AV| 精品久久久久久国产| 中文精品久久久久人妻不卡| 一级做a爰片久久毛片免费陪| 天天影视色香欲综合久久| 午夜视频久久久久一区|