运行效果:
主要采用一次循环,这样减少操作的次数,可以把命令行和参数分开解析:
#include <stdio.h>
#define PARAMETER_COUNT 10
#define PARAMETER_LENGTH 10
int ParametersGet(char *ps)
{
puts(ps);
int parametercount = 0;
int i = 0;
char parameters[PARAMETER_COUNT][PARAMETER_LENGTH] = {0};
while(*ps != '\0')
{
if (*ps == '-')
{
parametercount++;
i = 0;
}
parameters[parametercount][i++] = *ps;
ps++;
}
for (int j = 0; j <= parametercount; j++)
printf("parameter: %s\n", parameters[j]);
}
int main()
{
char *s1="./clear -a aaa -b bbb";
ParametersGet(s1);
putchar('\n');
return 0;
}