允许用户选择程序在终端上运行的选项

时间:2014-10-17 20:01:58

标签: c command-line-arguments

所以,让我们说我有两个功能可以做同样的事情,但使用不同的算法。我想允许用户在终端选择一个选项或另一个选项。

当用户选择他们想要的选项时,它应该是这样的......

./a.out option1

./a.out option2

在我来到这里之前我会更多地阅读这个问题,所以也许我可以有一些代码,但我甚至不知道这是什么,所以我可以研究它!

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

样本

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]){
//E.g. ./a.out option1
//argc : 2
//argv[0] : "./a.out" (or It might be a different. E.g fullpath or "" or etc..)
//argv[1] : "option1"

    int opt = 0;
    if(argc > 1){
        if(strcmp(argv[1], "option1")==0)
            opt = 1;
        else if(strcmp(argv[1], "option2")==0)
            opt = 2;
        else
            opt = -1;
    }
    switch(opt){
    case 0:
        printf("Option was not specified.\n");
        break;
    case 1:
        printf("Option 1 was specified.\n");
        break;
    case 2:
        printf("Option 2 was specified.\n");
        break;
    default:
        printf("Options that you specify are wrong.\n");
        printf("Usage : %s [option1 | option2]\n", argv[0]);
    }
    return 0;
}