c語言argc和argv怎么使用 怎么使用argv?
怎么使用argv?Argv從命令行接收參數(shù),可通過Argv[i]在程序中使用。例如,對象的名稱。你要執(zhí)行的EXE文件是test,你進(jìn)入test2 Hello world!在程序中,argv[0]是he
怎么使用argv?
Argv從命令行接收參數(shù),可通過Argv[i]在程序中使用。例如,對象的名稱。你要執(zhí)行的EXE文件是test,你進(jìn)入test2 Hello world!在程序中,argv[0]是hello,argv[1]是world!上面輸入的2告訴程序有多少個命令行參數(shù),用argc表示,argc是main()函數(shù)的第一個參數(shù)。
怎么使用argv?
Main(int argc,char*argv[]argc表示文件運行時以空格為間隔的所有參數(shù)的數(shù)目,所有字符串依次存儲在argv[]數(shù)組中。例如,我想借用樓上的程序來討論一下。我希望你不介意。程序保存編譯后的名稱測試.exe要在DOS環(huán)境中運行,請輸入test one two threeargc=3,from 0-3,argv[0]=test,argv[1]=one,argv[2]=two,argv[3]=three是從DOS時代傳下來的。程序后面是參數(shù),通常在程序需要參數(shù)或需要操作目標(biāo)時使用
在定義主函數(shù)intmain(intargc,int**argv)時,argv不能等于null,并且至少有一個正在運行的程序名。至于最后一個argv為空,只有一些平臺有這個函數(shù),而有些平臺沒有。在大多數(shù)情況下,我們?nèi)匀恍枰褂胊rgc來確定數(shù)字。另外,許多程序會根據(jù)參數(shù)的個數(shù)實現(xiàn)不同的功能,并直接用argc來判斷,這比循環(huán)遍歷argv來確定參數(shù)的個數(shù)要方便得多。
主函數(shù)里的參數(shù)argc,argv是什么意思,他們怎樣用?
C語言以int main(const int argc,const char*argv[]的形式定義參數(shù),其中argc和argv未在main函數(shù)中初始化,但用于從命令行傳遞參數(shù)。
1 argc,命令行傳遞的參數(shù)總數(shù)。
2 argv,命令行傳遞的每個參數(shù)值。例如,編譯的EXE文件是a.EXE。當(dāng)執(zhí)行a.exe 1 123 asdgf 34時,每個參數(shù)都將轉(zhuǎn)換為字符串形式并存儲在argv中。此時,argc=5argv={“a.exe”、“1”、“123”、“asdgf”、“34”}
當(dāng)您編譯的程序以命令行的形式運行時,運行時啟動代碼會將您在命令行上輸入的參數(shù)傳遞給程序的主功能。第一個參數(shù)通常是程序的名稱。例如,程序編譯后可執(zhí)行文件的名稱是什么測試.exe,當(dāng)您將其作為命令行執(zhí)行時:測試.exe在本例中,argc值是2,表示有兩個參數(shù),其中argv[0]字符串是“測試.exe", argv[1]字符串是“Hello”
因此程序的主要功能可以編寫如下:
int main(int argc,char*argv[
{
if(argc!=2&;argc!=3)
]{
printf(”無效參數(shù)!n“”
返回-1
}
如果(argc==2)
]{
//argv[1]是您輸入的數(shù)字。它存儲為字符串。您可以測試字符串是否是數(shù)字,
//如果是數(shù)字,請調(diào)用atoi()將字符串轉(zhuǎn)換為整數(shù)值,將其平方,然后輸出結(jié)果。
}
Else
{
//argv[1]和argv[2]存儲您輸入的兩個數(shù)字(以字符串形式)。您可以測試字符串是否為
//number。如果是數(shù)字,則調(diào)用atoi()將兩個字符串轉(zhuǎn)換為數(shù)字,然后求和并輸出結(jié)果。
}
返回0;
}