1. 程式人生 > >主函式main中變數(int argc,char *argv[])的含義

主函式main中變數(int argc,char *argv[])的含義

看過多個Linux下的軟體的原始碼,發現很多專案都有int main(int argc,char *argv[]) ,在網上找到如下的說明。

我剛接觸到這兩個變數時,根本不知道它們是用來做什麼的,我想很多人也跟我一樣,剛看到這兩個變數時也是稀裡糊塗的。

其實:int main(int argc,char *argv[]) 是 UNIX 和 Linux 中的標準寫法,也可以寫作指標的指標int main(int argc,char **argv),而int main() 只是 UNIX 及 Linux 默許的用法.。

那究竟 argc,argv[] 有何之用呢?下面看個例子 edit.c

就會明白它們的用法了:

#include<unistd.h>
#include<stdio.h>

int main(int argc,char *argv[])
{
if(argc==1 || argc>2) {
printf("請輸入想要編輯的檔名如:./edit fillen");
}
if(argc==2) {
printf("編輯 %sn",argv[1]);
}
exit(0)
}

編譯該程式: gcc -o edit edit.c
執行:./edit
結果:請輸入想要編輯的檔名如:./edit fille
執行:./edit edit.txt
結果:編輯 edit.txt

看到這裡 argc,argv[] 如何用就很明白了,argc 是外部命令引數的個數,argv[]存放各引數的內容,如上例:執行 ./edit 時,argc 為1,
argv[0]./edit .而執行 ./edit edit.txt 時,argc 的值為 2,
argv[0]./editargv[1] 為 edit.txt

相關推薦

函式 —— 函式main變數(int argc,char *argv[ ])的含義

#include<stdio.h> int main(int argc,char **argv) { int i; for(i = 0;i<argc;i++) { pri

函式main變數(int argc,char *argv[])的含義

看過多個Linux下的軟體的原始碼,發現很多專案都有int main(int argc,char *argv[]) ,在網上找到如下的說明。 我剛接觸到這兩個變數時,根本不知道它們是用來做什麼的,我想很多人也跟我一樣,剛看到這兩個變數時也是稀裡糊塗的

怎麼對輸入引數的main(int argc , char *argv)函式進行程式除錯

       當函式使用(int argc , char *argv)來輸入引數時,我們一般都是使用cmd對函式進行呼叫,然後在函式名後面輸入函式引數。        如果相對函式進行除錯,怎麼使用VS2010輸入引數呢,下面我們介紹設定的步奏:        1.Proj

C++ int main( int argc , char** argv ) 的理解

經常對 int main () 、 int main ( int argc , char** argv )  、int main ( int argc , char* argv[] ) 感到很困惑。所以總結一下自己的理解。 一、int main () 是一種對主函式

int main(int argc,char *argv[]) 解釋

argc和argv[]int main(int argc,char argv[]) 是 UNIX 和 Linux 中的標準寫法,int main() 只是 UNIX 及 Linux 默許的用法. 如文件:main.c如下:int main(int argc,char argv[]){......return

int main(int argc,char* argv[])詳解

需要 必須 分享 內部 alt ima 操作 直接 image main函數的參數:   main函數一般都是不帶參數的。因此main 後的括號都是空括號。實際上,main函數可以帶參數,這個參數可以認為是 main函數的形式參數。C語言規定main函數的參數只能有兩個,

VS2015除錯"int main(int argc, char **argv)"型控制檯程式:輸入命令引數

關於“int main(int argc, char **argv)”型控制檯程式的除錯 方法1: 開啟控制檯然後輸入命令除錯; 方法2: 其中vs中程式碼如下: CommandParser cp(argc,argv); // object to parse command l

int main(int argc,char* argv[])淺析 int main(int argc,char* argv[])

int main(int argc,char* argv[])淺析 argc : 指輸入引數個數,預設值1,就是執行程式名稱 argv[] : 輸入引數陣列指標   舉個栗子: 1. 編寫一個argc.c檔案如下 1 #include <stdio.h> 2

int main(int argc,char* argv[])淺析

unix 結果 運行 行程 rm -rf \n spa c編譯器 ++ argc : 指輸入參數個數,默認值1,就是執行程序名稱 argv[] : 輸入參數數組指針 舉個栗子: 1. 編寫一個argc.c文件如下 1 #include <stdio.h>

【C】main (int argc,char *argv[]) 或main (int argc,char **argv)後臺(CMD下)執行說明

文章目錄 main (int argc,char *argv[]) 或main (int argc,char **argv)後臺(CMD下)執行說明 說明 一、main (int argc,char *argv[]) 或mai

int main(int argc,char* argv[]) 的含義和用法

  1、基本概念   argc,argv 用 命令列編譯程式時有用。   主函式main中變數(int argc,char *argv[ ])的含義,有些 編譯器允許將main()的返回型別宣告為void,這已不再是合法的C++   main(int argc

int main(int argc,char **argv)的理解

執行帶引數的ROS節點時,發現命令列引數對應於int main(int argc,char **argv)中的引數,因此對main函式中的兩個引數做了簡單的研究。 下面的博文源於如下連結 https://www.cnblogs.com/ruixingw/p/3705918.html

main (int argc,char *argv[ ]) 與 getopt

main(int argc, char *argv[ ], char **env)才是UNIX和Linux中的標準寫法。 argc: 整數,用來統計你執行程式時送給main函式的命令列引數的個數 * argv[ ]: 字串陣列,用來存放指向你的字串引數的指標陣列,每一個元素指向一個引數 argv[0] 指向程

int main(int argc,char* argv[])詳解,以及與int main()有什麼區別

K&R C 上5.10 命令列引數 中介紹的int main(int argc,char* argv[ ]) 在 d:\ 編寫 程式,並命名為 c.c #include int main(int argc, char ** argv) {     int i;

'假定以下程式經編譯和連線後生成可執行檔案PROG.EXE,如果在此可執行檔案所在目錄的DOS提示符下鍵入:PROG ABCDEFGH IJKL<回車>,則輸出結果為( ). void main( int argc, char *argv[]) { while(--argc>

main(int argc,char *argv[])函式的兩個形參,第一個int argc,是記錄你輸入在命令列(你題目中說的操作就是命令列輸入)上的字串個數;第二個*argv[]是個指標陣列,存放輸入在命令列上的命令(字串)。當命令列輸入PROG ABCDEFGH IJKL時,記錄了3

int main(int argc, char*argv[])是什麼意思?什麼時候用?

這是C/C++的一重要函式,叫主函式。無論程式多複雜,程式碼中必須有這麼一個函式,也只能有一個這樣的函式;程式執行時就是從這個函式進入的。由於問得比較籠統,如果你想知道詳細情況的話,發給你一個網友的求助與本人的回答,自己看吧…… 假定以下程式經編譯和連線後生成可執行檔案

int main(int argc, char* argv[])引數意義

對下面兩個網址涉及的內容理解: 一、maim函式引數使用方法:         main函式不能被其他函式呼叫,它的引數值是從作業系統命令列上獲得的。當我們要執行一個可執行檔案時,在DOS提示符下鍵入檔名,再輸入實際引數即可把這些實參傳送到main的形參中去。對於Windo

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

argc是命令列總的引數個數   argv[]是argc個引數,其中第0個引數是程式的全名,以後的引數   命令列後面跟的使用者輸入的引數,比如:   int   main(int   argc,   char*   argv[])   {   int   i;   for   (i   =   0;   i

int argc char*argv[]

blas code yar path變量 結束 print clas mpc lin argc是命令行總的參數個數 argv[]是argc個參數,其中第0個參數是程序的全名,以後的參數 命令行後面跟的用戶輸入的參數,比如: int

JAVA函式main方法詳解

main方法詳解 主函式是靜態的 public static void main(String[] args){      } 主函式是什麼:主函式是一個特殊的函式,作為程式的入口,可以被jvm識別。 主函式的定義: