我想搜索一个IP地址到“/”并取出“/”之前的所有内容,这样我就可以将它从char转换为int。然后获取该int并将其转换为二进制。如何在“/”之前读取所有内容,将其存储在变量中,然后继续将其转换为二进制。我知道strlen
但不认为这会对我的情况有效吗?长度“/”不是恒定的。
我的代码:
int main(int argc, char** argv)
{
char *s;
char buf[] = "10.29.246.49/32";
s = strchr(buf, '/');
if (s != NULL)
printf("found '/' at %s\n", s);
return 0;
}
答案 0 :(得分:2)
您可以使用strtok
#include <stdio.h>
#include <string.h>
int main(int argc, char** argv)
{
char *s;
char buf[] = "10.29.246.49/32";
s = strtok(buf, "/");
if (s)
printf("%s\n", s);
return 0;
}
该程序产生
10.29.246.49
字符'/'
已替换为'\0'
。现在,您可以在字符串上使用strlen
。