Основная функция с аргументами

Я пытаюсь понять основную функцию с аргументами argc и argv. В командной строке я пытаюсь скопировать содержимое нескольких текстовых файлов на экране (конкатенация). Когда я пишу в командной строке 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++)

Другие вопросы по тегам