C語言--在命令列輸入檔名字並列印檔案內容
阿新 • • 發佈:2019-02-14
C語言程式設計中,經常遇到main函式中argc和argv[]這兩個引數。argc是argument count的縮寫,即引數的個數;argv是argument vector的縮寫,即引數列表。argv[0]是程式本身的名字,argv[1]是在命令列中輸入的第一個程式的引數,argv[argc]是NULL,如下所示:
#include "stdio.h" int main (int argc, char *argv[]) { printf ("the argc value is %d \n", argc); int i; for (i = 0; i <= argc; i++){ printf ("the argv[%d] value is %s \n", i, argv[i]); } return 0; } #將上述程式碼編譯為test可執行檔案,在命令列輸入如下內容 /* ./test arg_1 arg_2 */ #執行結果如下: /* the argc value is 3 the argv[0] value is ./test_c_0 the argv[1] value is arg_1 the argv[2] value is arg_2 the argv[3] value is (null) */
搞清楚了argc和argv[],我們就可以使用兩者通過命令列向程式傳送將要處理的檔名引數,程式碼如下。
#include "stdio.h"
int main (int argc, char *argv[])
{
FILE *fp;
int c;
fp = fopen( argv[1], "r");
while ( (c = fgetc(fp)) != EOF){
printf ("%c", c);
}
fclose(fp);
return 0;
}