C語言中文網 目錄

strpbrk函數,C語言strpbrk函數用法詳解

如果要查找多個字符,需要使用 strpbrk 函數。該函數在源字符串(s1)中按從前到后順序找出最先含有搜索字符串(s2)中任一字符的位置并返回,空字符 null('\0') 不包括在內,若找不到則返回空指針。其函數原型的一般格式如下:

char *strpbrk(const char *s1,const char *s2);

例如,在 strpbrk 函數的定義如下:
char *strpbrk (const char *s, const char *accept)
{
    while (*s != '\0')
    {
        const char *a = accept;
        while (*a != '\0')
            if (*a++ == *s)
                return (char *) s;
        ++s;
    }
    return NULL;
}
如上面的代碼所示,strpbrk 數首先依次循環檢查字符串 s 中的字符,當被檢驗的字符在字符串 accept 中也包含時(即“if(*a++==*s)”),則停止檢驗,并返回“(char*)s”。如果沒有匹配字符,則返回空指針 NULL。這里需要注意的是,空字符 null('\0') 不包括在內。函數的調用示例如下面的代碼所示:
int main(void)
{
    char str[] = "I welcome any ideas from readers, of course.";
    char *rc=strpbrk(str,"come");
    printf("%s\n",rc);
    return 0;
}
很顯然,示例代碼的運行結果為“elcome any ideas from readers,of course.”。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo