#include <stdio.h> #include <unistd.h> void usage() { printf("Usage: "); printf(" OptDemo [-a] [-b] [-c message]"); } int main(int argc, char *argv[]) { int o; const char *optstring = "abc::"; // 有三个选项-abc,其中c选项后有两个冒号,表示后面可选参数 while ((o = getopt(argc, argv, optstring)) != -1) { switch (o) { case 'a': printf("opt is a, oprarg is: %s ", optarg); break; case 'b': printf("opt is b, oprarg is: %s ", optarg); break; case 'c': printf("opt is c, oprarg is: %s ", optarg); break; case '?': printf("发生错误时提示用户正确的使用方式 "); usage(); // 提示使用说明 printf(" "); break; } } return 0; }