0

引数 argc と argv を使用して main 関数を理解しようとしています。コマンドラインで、画面上の複数の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);
    }
}
4

1 に答える 1

1

ここに 1 つの大きな問題があります。

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

私はあなたがするつもりだと思います:

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

于 2014-10-07T20:40:57.793 に答える