带参数的主要功能

时间:2014-10-07 20:38:12

标签: command-line-arguments main argv argc

我试图通过参数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);
    }
}

1 个答案:

答案 0 :(得分:1)

这是一个大问题:

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

我认为你的意思是:

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