2013年10月9日 星期三

[C] argc & argv



一般來說 main function 長這樣:

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

其中,argc 代表的是參數個數,argv[argc] 代表的是指向參數,以下就用簡單的小程式來解釋。



 #include <stdio.h>                                                      
                                             
 int main (int argc, char* argv[])                           
 {                                           
   if (argc < 2)                                   
   {                                         
     printf("Too few argument\n");                         
   }                                         
   else if (argc > 2)                                 
   {                                         
     printf("Too many argument\n");                         
   }                                         
   else                                        
   {                                         
     printf("%s\n", argv[1]);                            
   }                                         
   return 0;                                     
 }   

執行結果:




比較要注意的是,input argument 的算法是包含執行檔的,也就是說 argc 為 2 的時候,我的 a.out 是第一個, test 是第二個,而 argv[0] 就是 a.out,argv[1] 則是 test。


沒有留言:

張貼留言