Если вы владеете строковым буфером и знаете, что его можно безопасно изменять, вы можете использовать strtok_r()
, как предлагали люди. Или вы можете сделать это сами, например:
char buffer[2048];
char *sp;
/* read packet into buffer here, omitted */
/* now find that space. */
sp = strchr(buffer, ' ');
if(sp != NULL)
{
/* 0-terminate the first part, by replacing the space with a '\0'. */
*sp++ = '\0';
/* at this point we have the first part in 'buffer', the second at 'sp'.
}
Это может быть быстрее и / или легче понять, в зависимости от контекста.