c語言的命令行參數
㈠ 請教關於c語言的命令行參數 echo程序是什麼
這個就是C語言的命令行參數和main函數之間的參數轉換關系的詳細解釋了。
1、首先明確一下我們編譯出來的可執行程序
windows編譯出來的可執行程序擴展名為exe,比如test.ext,樓主例子中的echo.exe,運行程序的時候exe可以省略。
我們要執行一個程序,第一個肯定是要寫上程序的名字,比如echo.exe或者echo,然後後面跟參數,比如樓主程序裡面的hellow, world,就是2個參數,以空格分開,第一個參數是hellow,,第二個參數是world
2、然後再看一下程序是如果將我們寫的參數傳遞給可執行程序的。
main函數的參數是兩個int argc,char *argv[],argc就是參數的個數,argv數組就是具體的參數了。
程序執行時,會根據我們輸入的個數來決定給main函數傳遞什麼東西。按照空格分開,每一個輸入就是一個參數(注意:也要包含程序本身的名字,也是一個參數)
即當我們輸入echo hellow, world的時候,main函數接收到3個參數,echo,hellow,和world,這個時候argc就等於3,argv[0]是echo,argv[1]是hellow,,argv[2]world。
3、估計樓主疑惑的就是可執行程序的名字為什麼也是一個參數,這個是C語言的規范,記住就行了哈。
㈡ c語言命令行參數如何運行
1、命令行參數是保存在argv[]里的。argc只是說參數的個數。命令行參數一般是從argv[1]開始(包括argv[1])argv[0]是程序的名字。在輸命令的時候,命令行參數之間用空格隔開。
2、比如:
#include<stdio.h>
intmain(intargc,char*argv[])
{
if(argc<2)
{
printf("youmustinputargs!");
return0;
}
if(strcmp(argv[1],"help")==0)
{
printf("此程序參數如下: ");
printf("-c提示是否確定。 ");
printf("-d跳過警告,直接刪除。 ");
printf("exit為退出。");
return0;
}
elseif(strcmp(argv[1],"-c")==0)
{
//此處省略N行你的代碼
}
return0;
}
如果編譯出來的程序名字叫 test.exe,那麼在命令行下輸入 test.ext help後就會列印
此程序參數如下:
-c 提示是否確定。
-d 跳過警告,直接刪除。
exit為退出。
㈢ C語言中關於通過命令行獲取參數的編程
#include <stdio.h>
int main(int argc, char *argv[])
{
if(argc<2)
{
printf("you must input args!");
return 0;
}
if(strcmp(argv[1],"help")==0)
{
printf("此程序參數如下:\n");
printf("-c 提示是否確定。\n");
printf("-d 跳過警告,直接刪除。\n");
printf("exit為退出。");
return 0;
}
else if(strcmp(argv[1],"-c")==0)
{
//此處省略N行你的代碼
}
return 0;
}
如果你編譯出來的程序名字叫 test.exe 那麼在命令行下輸入 test.ext help後就會列印
此程序參數如下:
-c 提示是否確定。
-d 跳過警告,直接刪除。
exit為退出。