strtok_s和strsep
时间: 2023-11-25 17:52:31 浏览: 139
strrchr strtok_r C库函数使用
5星 · 资源好评率100%
很抱歉,strtok_s并不是C标准库中的函数,而是Windows平台下的函数。如果你想要在Windows平台下使用strtok_s函数,你需要包含头文件<strsafe.h>。strtok_s函数的使用方法与strtok函数类似,但是它增加了一个额外的参数,用于指定缓冲区的大小。下面是一个使用strtok_s函数的例子:
```c
#include <stdio.h>
#include <string.h>
#include <strsafe.h>
int main() {
char str[] = "hello,world";
char *token;
char *next_token;
const char *delim = ",";
char buf[10];
token = strtok_s(str, delim, &next_token);
while (token != NULL) {
StringCbCopyN(buf, sizeof(buf), token, _TRUNCATE);
printf("%s\n", buf);
token = strtok_s(NULL, delim, &next_token);
}
return 0;
}
```
strsep函数与strtok函数类似,但是它是GNU C库中的函数,而不是C标准库中的函数。strsep函数的使用方法与strtok函数类似,但是它不使用静态变量,因此可以在多线程环境下安全使用。下面是一个使用strsep函数的例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello,world";
char *token;
const char *delim = ",";
while ((token = strsep(&str, delim)) != NULL) {
printf("%s\n", token);
}
return 0;
}
```
阅读全文