如何从C语言中的字符串解析IP地址?
我有一个变量,用于保存这些字符集:如何从C语言中的字符串解析IP地址?,c,parsing,ip,C,Parsing,Ip,我有一个变量,用于保存这些字符集: char recvBuff[1024] = "OK lastname,firstname 127.0.0.1"; 我试图从整个字符串中解析127.0.0.1IP地址,并将其分配给另一个变量。如何从字符串中解析此IP地址? (我不需要127、0、0和1分开。我需要“127.0.0.1”作为一个完整的字符串。您可以使用strtok()或strtok_r()函数来分开字符串 char *strtok(char *str, const char *del
char recvBuff[1024] = "OK lastname,firstname 127.0.0.1";
我试图从整个字符串中解析127.0.0.1
IP地址,并将其分配给另一个变量。如何从字符串中解析此IP地址?
(我不需要127、0、0和1分开。我需要“127.0.0.1”作为一个完整的字符串。您可以使用strtok()
或strtok_r()
函数来分开字符串
char *strtok(char *str, const char *delim);
char *strtok_r(char *str, const char *delim, char **saveptr);
在分离字符串之前,您可以备份字符串,因为它会影响原始字符串。可能重复的
sscanf
是您的朋友…@sashoalm这是两个不同的问题。我需要完整的IP地址,而不是单独的4个字节。谢谢though@MatteoItalia问题解决:)太好了,谢谢。我必须创建一个tokenchar*token
,然后在同一行中键入三次才能到达IP地址token=strtok(recvBuff,“”)代码>(此时令牌位于OK字符处,然后token=strtok(NULL,”);
(令牌现在是lastname,firstname),最后再次执行相同的操作,使令牌等于IP地址。有没有办法简化此操作?是否使用“OK lastname,firstname 127.0.0.1”
仅限字符串,否则您将拥有一些其他字符串,最后是地址
?