C 字符串的长度,最大为特定字符
我想搜索一个IP地址,直到“/”,然后取“/”之前的所有内容,这样我就可以将它从一个字符转换成一个整数。然后取那个整数并将它转换成二进制。如何读取“/”之前的所有内容,将其存储在变量中,然后继续将其转换为二进制。我知道斯特伦,但我不认为这对我的情况有用吗?最长为“/”的长度不是常数 我的代码:C 字符串的长度,最大为特定字符,c,string,C,String,我想搜索一个IP地址,直到“/”,然后取“/”之前的所有内容,这样我就可以将它从一个字符转换成一个整数。然后取那个整数并将它转换成二进制。如何读取“/”之前的所有内容,将其存储在变量中,然后继续将其转换为二进制。我知道斯特伦,但我不认为这对我的情况有用吗?最长为“/”的长度不是常数 我的代码: int main(int argc, char** argv) { char *s; char buf[] = "10.29.246.49/32"; s = str
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;
}
您可以使用
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;
}
字符
'/'
替换为'\0'
。现在您可以在字符串上使用strlen
。在您的情况下,可以通过指针算术s-buf
获得长度。在这种情况下,如何使用字符进行指针算术?
10.29.246.49