strToken函数用来获取给定字符串中分隔符的位置,返回紧接着分隔符后字符串的首地址
strtock_s 原型如下:
char *strtok_s( char *strToken, const char *strDelimit, char **context );第一个参数 strToken 是需要查找的字符串,第二个参数 strDelimit 是用来存储分隔符的字符串,第三个字符串用来存储下一个分隔符后的所有字符
注意:1、若第一个参数不为NULL,则函数返回第一个分隔符后的字符串首地址,若第一个参数是NULL,则从当前字符串向后继续读取
2、若给定字符串中不存在给定的分隔符,则返回该字符串受自制
3、若遇到几个分隔符相连的情况,则返回的是这些相连着的分隔符的最后一个
4、区别于strToken,strToken_s通过自定义缓冲区context的形式,保证了安全性
例子:
void main()
{
char tock[5] = " ,";
char str[256] = "aaa ,,,,bbbb,,ccc ,dd ";
char *buffer;
char *token_ptr;
for (token_ptr = strtok_s(str, tock, &buffer); token_ptr != NULL; token_ptr = strtok_s(NULL, tock, &buffer))
{
puts(token_ptr);
puts(buffer);
putchar(10);
}
getchar();
}
aaa
,,,,bbbb,,ccc ,dd
bbbb
,ccc ,dd
ccc
,dd
dd