我必须编写一个使用如下参数的C程序:
App.exe -in file.txt
我对argv和char * argc有所了解但是..我怎么用fopen使用这个参数?我不知道!
答案 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);
}
}