strsep和strtok的区别
时间: 2024-01-01 14:21:50 浏览: 123
strsep和strtok都是用于分割字符串的函数,但它们有以下几点不同:
1. 可重入性:strtok是不可重入的,而strsep是可重入的。
2. 字符串修改:strtok会修改原字符串,将分隔符替换为'\0',而strsep不会修改原字符串。
3. 分隔符:strtok只能使用单个分隔符,而strsep可以使用多个分隔符。
下面是一个使用strsep函数的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello,,world!#c";
char* delim = ",#";
char* token = NULL;
while ((token = strsep(&str, delim)) != NULL) {
if (*token != '\0') {
puts(token);
}
}
return 0;
}
```
输出结果为:
```
hello
world!
c
```
阅读全文