我正在尝试让getopt能够处理某些标志,但我在使用getopt实现错误处理时遇到了问题。我想要防止重复的标志,例如'-s 1 -s 1',并且对标志'-s 1 2‘有太多的参数,这两个都应该退出程序。
int opt; //command flags
while((opt = getopt(argc, argv, "s:f:")) != -1){
switch(opt){
case 's':
printf("%s\n", optarg);
printf("%i\n", optind);
break;
case 'f':
printf("%s\n", optarg);
printf("%i\n", optind);
break;
default:
//unknown command flags
fprintf(stderr, "Usage: fred [ -s symbol-table-file ] [ -f fred-program-file ]\n");
return EXIT_FAILURE;
}
}参数太多(例如,program -s f1 -f f2 hello)。重复的标志(例如program -s f1 -s f2)。两者都应该退出程序
https://stackoverflow.com/questions/47665881
复制相似问题