解析命令行参数
/** 解析命令行参数* getopt函数*/while ((iError = getopt(argc, argv, "ls:f:h:d:")) != -1) /* 将命令行参数与所有可能的参数进行匹配 */{switch(iError){case 'l':{bList = 1;break;}case 's':{dwFontSize = strtoul(optarg, NULL, 0);break;}case 'f':{strncpy(acFreetypeFile, optarg, 128);acFreetypeFile[127] = '\0';break;}case 'h':{strncpy(acHzkFile, optarg, 128);acHzkFile[127] = '\0';break;}case 'd':{strncpy(acDisplay, optarg, 128);acDisplay[127] = '\0';break;}default:{printf("Usage: %s [-s Size] [-d display] [-f font_file] [-h HZK] <text_file>\n", argv[0]);printf("Usage: %s -l\n", argv[0]);return -1;break;}}}/* 当选项无额外参数而输入了额外参数时,提示用法并退出程序 */if (!bList && (optind >= argc)){printf("Usage: %s [-s Size] [-d display] [-f font_file] [-h HZK] <text_file>\n", argv[0]);printf("Usage: %s -l\n", argv[0]);return -1;}
