字符串的长度,直到特定字符

时间:2014-03-11 05:44:23

标签: c string

我想搜索一个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;
 }

1 个答案:

答案 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

相关问题