2014-10-07 97 views
0

我在嘗試理解帶有參數argc和argv的主函數。在命令行中,我試圖複製屏幕上多個txt文件的內容(連接)。當我在命令行appname.exe中寫入f1.txt時,f1.txt中的內容將以循環打印。如果f1.txt具有文本「abcda」,則控制檯中的輸出將是「abcdaabcdaabcda ...」。對不起我的英語不好;有人能幫助我瞭解我做錯了什麼嗎?帶參數的主函數

#define _CRT_SECURE_NO_WARNINGS 

#include <stdio.h> 

int main(int argc, char *argv[]) 
{ 
    int i; 
    for (i = 2; i <= argc - 1;i+2) 
    { 
     FILE *f = fopen(argv[i], "r"); 
     if (f == 0) 
     { 
      printf("Error\n"); 
     } 
     else 
     { 
      int x; 
      while ((x = fgetc(f)) != EOF) 
      { 
       printf("%c", x); 
      } 
     } 
     fclose(f); 
    } 
} 

回答

1

這裏有一個很大的問題:

for (i = 2; i <= argc - 1;i+2)

我想你的意思辦:

for (i = 2; i <= argc - 1; i++)

+0

其實我想要的txt文件是在偶數。 – Stefan 2014-10-07 20:49:07

+0

然後,你會'i + = 2'而不是'i + 2' – RPGillespie 2014-10-07 20:50:43