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