|
問:int main(int argc, char* argv[])里的(int argc, char* argv[])是什么意思?為什么要用這個?
答1:
很多程序都是帶參數(shù)運行的,比如WINDOWS命令行下的很多實用程序。參數(shù)增加了程序的靈活性。 你可以在“開始”->“運行”中輸入cmd進(jìn)入命令行。 比如一個叫做del的命令,(刪除文件),其實就是del.exe,它帶參數(shù)的,完整的命令格式可以是 del readme.txt 這個命令將刪除當(dāng)前路徑下的readme.txt文件(如果有的話); 此時,運行的程序就是del.exe,而readme.txt就是它的參數(shù), 假設(shè)del程序的main函數(shù)原型為 int main(int argc, char* argv[]),那么 argc = 1,(1個參數(shù)) argv[0] = “readme.txt”(接收的字符串); 假設(shè)一個程序的main函數(shù)不帶任何參數(shù),那么很顯然,它仍可以運行,只是,不接收參數(shù)罷啦
答2:
void main(int argc, char* argv[ ]) 假設(shè)程序編譯成為 cp.exe 然后在命令行中輸入 c:\>cp.exe doc1.txt doc2.txt
這行中有三個字符串分別為 cp.exe doc1.txt doc2.txt 則argc為3,即argc是命令行中參數(shù)的個數(shù)。 char *argv[]為一個指像字符串的數(shù)組。 argv[0]="cp.exe" argv[1]="doc1.txt" argv[2]="doc2.txt"
即命令行中各各字符串保存在 *argv[]中
歸納:
簡單說,這兩個就是用于接受參數(shù)和記錄參數(shù)信息的。
因為在LINUX或DOS中, 使用命令后面一般都加上參數(shù)等,如:c:\>cp.exe doc1.txt doc2.txt
|