你好。我是 C 的新手。我想将 URL 分成两部分,由 C 中的第一个“/”分割。
我有代码:
char *token1, *token2;
token1 = strtok("website URL here", "/");
token2 = strtok(NULL, "/");
问题是,如果网站是这样的:“www.foo.com/foo/”,它就可以工作。我得到了“www.foo.com”和“foo”
但如果 URL 有多个“/”,例如“www.foo.com/foo1/foo2/foo3/”。我如何获得“www.foo.com”和“foo1/foo2/foo3/”?我不想做更多的标记,因为我不知道 URL 中会有多少个“/”。
谢谢。
最佳答案
您可以使用strchr
找到/
的第一个索引:
/* char *url; */
char *first_slash = strchr(url, '/');
然后,first_slash + 1
是 url 的其余部分(如果 /
不在字符串中,则为 NULL
)。如果要处理 2 个 C 字符串,则只需设置为 0:
*first_slash = 0;
那么,你的域名是url
,其余的在first_slash
关于c - 在 C 中使用 strtok 将 URL 分成两部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205591/