列印命令列引數

收到引數後,你可以按如下方式列印它們:

int main(int argc, char **argv)
{
    for (int i = 1; i < argc; i++)
    {
        printf("Argument %d: [%s]\n", i, argv[i]); 
    }
}

筆記

  1. argv 引數也可以定義為 char *argv[]
  2. argv[0] 可能包含程式名稱本身(取決於程式的執行方式)。第一個真實命令列引數位於 argv[1],這就是迴圈變數 i 初始化為 1 的原因。
  3. 在 print 語句中,你可以使用*(argv + i) 而不是 argv[i] - 它評估為相同的東西,但更詳細。
  4. 引數值周圍的方括號有助於識別開始和結束。如果引數中有尾隨空格,換行符,回車符或其他古怪字元,這可能非常有用。該程式的一些變體是用於除錯 shell 指令碼的有用工具,你需要了解其中實際包含的引數列表(儘管有簡單的 shell 替代方法幾乎相同)。