Just My Life & My Work

剛開始學寫C++程式時,一直有個疑問,就是int main(int argc, char* argv[])中的兩個參數到底做什麼用?程式寫多了,逐漸忽略這兩個參數,然而在使用前人所撰寫的程式中,才發現它們是為了DOS系統所設立。

說說int main(int argc, char* argv[])兩個參數的作用是什麼呢?argc是指命令行輸入參數的個數argv存儲了所有的命令行參數。假如我的程式是happyman.exe,如果在命令提示字元視窗運行該程式,(首先應該在命令行下用 cd 命令進入到 happyman.exe 文件所在目錄) 運行命令為:

happyman.exe Happy Man

那麼,argc的值是3,argv[0]是"happyman.exe",argv[1]是"Happy",argv[2]是"Man"。當然,參數個數可以很多。

參考:Main函數參數argc,argv說明

Comments on: "[C++] 主程式函式的兩個參數argc和argv(Main Function Parameter)" (2)

  1. Now, the C standard allows you to write any “compatible" prototype for main. For instance, you can write any of these…

    int main(int argc, const char *const argv[]);
    int main(int argc, const char *argv[])
    int main(int argc, const char **argv);
    int main(int argc, const char *const *const argv);

    https://stackoverflow.com/questions/35860794/how-to-print-argv-arguments-from-main-function-in-c

  2. 現在要用 Flutter 來呼叫 C/C++,要研究如何轉換參數 int argc, char* argv[]

    真的是十年前的功夫,全都忘光了~😝

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: