我想查找实现这样的功能,给定"abcde.......xyz", 查找字符串str中与"abc"任意字符匹配的字符位置,然后再从此位置继续寻找,如此循环CString中有FindOneOf函数可以实现任意字符的查找,但是无法从指定位置查找,需要重新处理字符串。而string类里有find_first_of这样的函数,不仅可以实现这样的功能,还可以从指定的位置查找。
CString里面为什么没有这样的函数呢?感觉CString应该会涵盖string类里的绝大多数功能的。各位帮忙看看,谢谢!

解决方案 »

  1.   

    int Find( LPCTSTR lpszSub, int nStart ); 
    Return Value
    The zero-based index of the first character in this CString object that matches the requested substring or characters; -1 if the substring or character is not found
      

  2.   

    CString::Find方法的第二个参数就是设定从第几个字符开始匹配
      

  3.   

    CString 有一个 Right 方法,
    截取右边的自字符串 ...所以,
    你可以不断的 FindOneOf 然后把左边的字符串截断,
    只留下右边的未查找部分,
    然后继续 FindOneOf ....
      

  4.   

    Find()函数是可以指定位置,但他不能查找任意匹配的字符,比如从“abcdefg"中查找“amx",肯定是返回-1。FindOneOf()就可以找到,但是又不能指定位置。两个要是组合一下多好
      

  5.   

    获取数据缓冲区指针
    然后使用字符串定位指针
    strstr
    strchr