解析命令行参数
#include <stdio.h> #include<string.h> #define CFG_MAXARGS 10 //parse_line函数参考uboot源码 static int parse_line (char *line, char *argv[]) { int nargs = 0; while (nargs < CFG_MAXARGS) { /* skip any white space */ while ((*line == ' ') || (*line == '\t')) { ++line; } if (*line == '\0') { /* end of line, no more args */ argv[nargs] = NULL; return (nargs); } argv[nargs++] = line; /* begin of argument string */ /* find end of string */ while (*line && (*line != ' ') && (*line != '\t')) { ++line; } if (*line == '\0') { /* end of line, no more args */ argv[nargs] = NULL; return (nargs); } *line++ = '\0';