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);
    }
}
4

1 回答 1

1

这是一个大问题:

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

我认为你的意思是:

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

于 2014-10-07T20:40:57.793 回答