1.strtok
参数
strToken
字符串包含一个标记或一个以上的标记。
strDelimit
分隔符的设置。
locale
要使用的区域设置。
返回值
返回在 strToken中指向下一个标记的指针。 当未找到其他标记时,它们返回 NULL 。 通过为返回标记后出现的第一个分隔符替换 NULL 字符,每个调用修改 strToken 。
备注
strtok 函数来查找在 strToken的下一个标记。 strDelimit中字符的设置指定标记分隔符,该标记分隔符可能在当前调用的 strToken 中找到。wcstok 和 _mbstok 是宽字符,属于 strtok 的多节字字符版本。 参数和 wcstok 的返回值是宽字符字符串;_mbstok 的参数和返回值为多字节字符字符串。 否则这三个函数否则具有相同行为。
例子
// 分割字符串
void testStrTok(char* szFileName)
{
printf("Testing StrTok!\n");
char p[] = "\\";
char*tmpToken = strtok(szFileName, p);
while (tmpToken != NULL)
{
printf("%s\t", tmpToken);
// 反复调用一直分割的时候strtok的参数需要使用NULL
tmpToken = strtok(NULL, p);
}
}
结果
2.strchr
参数
str
null 终止的源字符串。
c
要定位的字符。
locale
要使用的区域设置。
返回值
函数会返回一个指针指向str中的字符第一次出现的位置或者如果没有发现字符,则会指向NULL 。
例子
// 查找字符出现位置
void testStrChr(char* szFileName)
{
printf("Testing StrChr!\n");
char p = '\\';
// strchr 返回查找到的位置,若没有则返回NULL
char *tmpChr = strchr(szFileName, p);
while (tmpChr !=NULL)
{
printf("%s\n", tmpChr);
// 从查找到的位置偏移后继续查找
tmpChr = strchr(tmpChr+1, p);
}
}
结果
3.strstr
返回指向在字符串的一个搜索字符串的第一个匹配项。
参数
str
要搜索的 null 终止的字符串。
strSearch
要搜索 null 终止的字符串。
locale
要使用的区域设置。
返回值
如果 strSearch 未出现在 str,则返回指向 strSearch 的第一个匹配项在 str的指针或 NULL指针。 如果 strSearch 指向长度为零的字符串,则函数返回 str。
例子
// 查找字符串出现位置
void testStrStr(char* szFileName)
{
printf("Testing StrStr!\n");
char p[] = "\\";
// strstr 返回查找到的位置,若没有则返回NULL
char *tmpChr = strstr(szFileName, p);
while (tmpChr != NULL)
{
printf("%s\n", tmpChr);
// 从查找到的位置偏移后继续查找
tmpChr = strstr(tmpChr + sizeof p, p);
}
}