[英]get the last token of a string in C
我想要做的是给出一个输入字符串,我不知道它的大小或标记的数量,能够打印它的最后一个标记。
例如:
char* s = "some/very/big/string";
char* token;
const char delimiter[2] = "/";
token = strtok(s, delimiter);
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delimiter);
}
return token;
我希望我的回归
串
但我得到的是(null)。 任何解决方法? 我在网上搜索过,似乎无法找到答案。 至少对于C编程语言。
只需使用另一个变量来存储最后一个令牌,然后再获取null
char s[] = "some/very/big/string";
char * token, * last;
last = token = strtok(s, "/");
for (;(token = strtok(NULL, "/")) != NULL; last = token);
printf("%s\n", last);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.