如何使用fopen参数?

时间:2016-01-10 18:49:32

标签: c arguments

我必须编写一个使用如下参数的C程序:

App.exe -in file.txt

我对argv和char * argc有所了解但是..我怎么用fopen使用这个参数?我不知道!

2 个答案:

答案 0 :(得分:2)

[请注意,这并没有回答这个问题,但确实显示了如何使用参数]

首先了解这些论点,以及如何处理它们。然后你知道如何使用参数并将文件名传递给fopen(或任何其他)函数。

首先尝试这个小程序:

#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("argc = %d\n", argc);

    for (size_t a = 0; i < argc; ++a)
    {
        printf("argv[%zu] = \"%s\"\n", a, argc[a]);
    }
}

如果您执行此程序

args.exe -in file.txt

输出应为

argc = 3
argv[0] = "args.exe"
argv[1] = "-in"
argv[2] = "file.txt"

答案 1 :(得分:1)

您需要解析argv以检查它是否包含您想要的内容。

int main(int argc, char** argv)
{
    if (argc < 3)
    {
        printf("bad usage");
    }

    if (strcmp(argv[1], "-in") == 0)
    {
        char* filename = argv[2];
        FILE* f = fopen(filename);
    }
}