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);
}
}