我必须写一个使用的参数是这样一个C程序:如何使用fopen参数?
APP.EXE -in file.txt的
我知道一些有关的argv与char * ARGC but..how我用的说法打开?我不知道!
我必须写一个使用的参数是这样一个C程序:如何使用fopen参数?
APP.EXE -in file.txt的
我知道一些有关的argv与char * ARGC but..how我用的说法打开?我不知道!
你需要解析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);
}
}
[请注意,这不回答这个问题,但它也展示了如何使用参数]
了解争论第一,以及它们是如何处理的。然后你知道如何使用参数并传递一个文件名到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"
@KerrekSB我相信魔法! ;) –
这种平等的比较永远不会为真。你需要使用'strcmp'。 –
哦,当然,谢谢。 – bercik
“main”原型是什么? – szczurcio