打开命令行提到的文件并处理参数
#include <stdio.h> #include <string.h> #include <errno.h> int main (int argc, const char * argv[]) { int argi; int aflag = 0; char *bval = NULL; for (argi = 1; argi < argc && argv[argi][0] == '-'; argi++) { char *p; for (p = (char *)&argv[argi][1]; *p != '\0'; p++) { switch (*p) { case 'a': aflag = -1; printf("-a seen!\n"); break; case 'b': bval = (char *)argv[++argi]; printf("-b seen (\"%s\")\n", bval); break; default: fprintf(stderr, "unknown option -%c\n", *p); } } } if(argi >= argc) { /* no filename arguments; process stdin */ printf("processing standard input\n"); } else { /* process filename arguments */ for(; argi < argc; argi++) { FILE* ifp = fopen(argv[argi], "r"); if(ifp == NULL) { fprintf(stderr, "can't open %s: %s\n", argv[argi], strerror(errno)); continue; } printf(" processing %s\n", argv[argi]); fclose(ifp); } } return 0; }
posted on 2011-04-15 23:51 Cheney Shen 阅读(234) 评论(0) 编辑 收藏 举报