首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言 main 函數參數 argc/argv 完整指南:Windows 與 Linux 下的命令行參數解析

     編輯:關於C語言

標準原型

// Windows (TCHAR 版)
int _tmain(int argc, _TCHAR* argv[])

// 標準 ANSI C
int main(int argc, char **argv)

// Linux (等價)
int main(int argc, char **argv)

參數含義

  • argc:參數個數(以空格分隔的字符串數)
  • argv:字符串數組指針
    • argv[0]:程序自身路徑/名稱
    • argv[1]:第一個參數
    • 以此類推

Windows 示例(含 _tprintf 寬字符支持)

int _tmain(int argc, _TCHAR* argv[]) {
    for (int i = 0; i < argc; i++)
        _tprintf(_T("%s\n"), argv[i]);
    return 0;
}

Linux 示例

#include 
int main(int argc, char **argv) {
    for (int i = 0; i < argc; i++)
        printf("%s\n", argv[i]);
    return 0;
}

註:C89 不支持 for(int i=...),需前置聲明 int i;。

運行示例

$ ./myapp arg1 arg2 "hello world"
./myapp
arg1
arg2
hello world

核心提示

  • argc ≥ 1(至少含程序名)
  • 帶空格參數需用引號括起
  • 參數解析建議使用 getopt/getopt_long(POSIX 標準)

來源:張宇博客

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved