字符串處理函數

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

結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章