小编use*_*318的帖子

在C中使用getopt的问题

我想使用getopt()来解析命令行提供的参数,但是我遇到了非常简单的测试用例的问题.我有以下代码(几乎,但不完全相同,作为POSIX标准定义中的示例提供).

int main(int argc, char *argv[]) {
    int c;
    int rmsflg = 0, saflg = 0, errflg = 0;
    char *ifile;
    char *ofile;

    //Parse command line arguments using getopt
    while (((c=getopt(argc,argv, ":i:rso:")) != 1) && (errflg == 0))  {
        switch(c){
            case 'i':
                ifile="optarg";
                break;
            case 'o':
                ofile="optarg";
                break;
            case 'r':
                if (saflg)
                    errflg++;
                else {
                    rmsflg++;
                    printf("Root Mean Square averaging selected\n");
                }
                break;
            case 's':
                if (rmsflg)
                    errflg++;
                else {
                    saflg++;
                    printf("Standard Arithmetic averaging selected\n");
                }
                break;
            case …
Run Code Online (Sandbox Code Playgroud)

c getopt

1
推荐指数
1
解决办法
905
查看次数

标签 统计

c ×1

getopt ×1