【发布时间】:2019-09-04 03:11:19
【问题描述】:
我正在尝试解析一个命令行参数,该参数将在switch 语句中执行关联的case。当我解析一个整数参数时(如下面的代码所示),关联的case 正确执行。当我尝试解析诸如“CPU”之类的字符串时,我没有得到正确的输出。
函数代码(解析一个整数,例如4的参数给出hello的正确输出):
#include <stdio.h>
int main(int argc, char *argv[]) {
char execution_mode = atoi (argv[1]);
switch (execution_mode)
{
case (4) :
printf("Hello");
getchar();
break;
case (8) :
printf("Goodbye");
getchar();
break;
default:
printf("Error! execution mode is not correct");
getchar();
break;
}
return 0;
}
我尝试解析 字符串 例如论据CPU:
#include <stdio.h>
int main(int argc, char *argv[]) {
typedef enum MODE { CPU, OPENMP } MODE;
MODE execution_mode = (char)argv[1];
switch (execution_mode)
{
case (CPU) :
printf("Hello");
getchar();
break;
case (OPENMP) :
printf("Goodbye");
getchar();
break;
default:
printf("Error! execution mode is not correct");
getchar();
break;
}
return 0;
}
【问题讨论】:
标签: c parsing cmd switch-statement arguments