第一次学状态机编程觉得简单了好多。
char str[128] = " 200 20 ";
int argc = 0;
char argv[16];
void parse(void)
{
int i = 0;
int state = 0;
while (str[i])
{
if (state == 1 && str[i] != ' ')
{
argv[argc++] = str[i];
}
if (state == 1 && str[i] == ' ')
{
state = 0;
argv[argc++] = str[i];
}
if(state == 0 && str[i] != ' ')
{
state = 1;
argv[argc++] = str[i];
}
i++;
}
int len;
len = strlen(argv);
printf("len %d\n" , len);
printf("%c\n",argv[len]);
if(argv[len] == ' ')
{
argv[len] = '\0';
}
return;
}
int main(void)
{
int i = 0;
parse();
printf("argc = %d \n", argc);
// for (i = 0; i < argc; i++)
printf("%s",argv);
return 0;
}