Cccc.. 发表于 2016-9-26 20:13:01

为什么命令行argv[1] 会打开失败呢。我用的是VS2015 说是触发一个断点

#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{
        int ch;
        FILE *source, *destination;
        if ((source = fopen(argv, "rb")) == NULL)
        {
                printf("Can't open %s\n", argv);
                exit(1);
        }
        if ((destination = fopen(argv, "wb")) == NULL)
        {
                printf("Can't open %s\n", argv);
                exit(1);
        }
        while ((ch = getc(source)) != EOF)
                putc(ch, destination);
        fclose(source);
        fclose(destination);
        printf("copy finished\n");
        return 0;
}

Cccc.. 发表于 2016-9-26 20:13:39

如题。第一个打开文件就失败了

求道于盲 发表于 2016-9-27 09:57:20

那么 你是怎么传入argv的?

n0noper 发表于 2016-9-27 17:11:06

楼上正解,你如果不是命令行运行或者在VS中配置了命令行传入参数,肯定为空···

如果你参数传递了,可以在打开文件之前printf一下,看看是否是你想要的?

Cccc.. 发表于 2016-9-27 20:15:56

求道于盲 发表于 2016-9-27 09:57
那么 你是怎么传入argv的?

那个请问下要怎么传入呢。。小白不懂。 求解答谢谢

Cccc.. 发表于 2016-9-27 20:16:39

n0noper 发表于 2016-9-27 17:11
楼上正解,你如果不是命令行运行或者在VS中配置了命令行传入参数,肯定为空···

如果你参数传递了,可 ...

请问下如何传入命令行参数呢。谢谢

求道于盲 发表于 2016-9-28 00:57:52

项目 最下面的属性
如图

把你要打开的文件的文件名写在这里

要带文件路径
相对路径和绝对路径都可以
不确定相对路径怎么写
可以先写绝对路径试试

Cccc.. 发表于 2016-9-28 11:13:52

求道于盲 发表于 2016-9-28 00:57
项目 最下面的属性
如图



好的谢谢
页: [1]
查看完整版本: 为什么命令行argv[1] 会打开失败呢。我用的是VS2015 说是触发一个断点