如果字符串中包含\0的话,strstr不会查找到最后就会返回null。memchr只能查找一个字符,我想查找的是几个字符,有没有其它的方法查找该字符串中的相关字符呢

解决方案 »

  1.   

    strstr是不能查找中间有\0的字符串.
    自己写一个类似的吧,用memchr memcmp
      

  2.   

    中间包含\0的就不是字符串了
    那只是一个数组了char *mystrstr( const char *string,int stringlen, const char *strCharSet ,int strCharSetlen )
    {
        char * temp;
        temp = string;
        while(1)
        {
            temp = memstr(temp ,*strCharSet ,stringlen);
            if(memcmp(temp,strCharSet,strCharSetlen)== 0)
                braek;
        }
        return  temp;
    }