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

Я пытаюсь понять основную функцию с аргументами 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);
    }
}

person Stefan    schedule 07.10.2014    source источник


Ответы (1)


Вот одна большая проблема:

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

Я думаю, вы хотите сделать:

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

person Gillespie    schedule 07.10.2014
comment
На самом деле я хочу, чтобы текстовые файлы были четными. - person Stefan; 08.10.2014
comment
Тогда вы бы сделали i+=2, а не i+2 - person Gillespie; 08.10.2014