下面有段程序,能不能深入的给解释下,最好有实例讲解。
   LPCTSTR FindOneOf(LPCTSTR p1, LPCTSTR p2)
{
    while (p1 != NULL && *p1 != NULL)
    {
        LPCTSTR p = p2;
        while (p != NULL && *p != NULL)
        {
            if (*p1 == *p)
                return CharNext(p1);
            p = CharNext(p);
        }
        p1 = CharNext(p1);
    }
    return NULL;
}

解决方案 »

  1.   

    这段代码的意思好像从p2中找P1,
    比如调用FindOneOf("a","dcake"),得到的结果是"ke";
    如果找不到,返回NULL!
      

  2.   

    能不能把具体的流程叫一下(step by step),最好有可编译的例子,我试一下
      

  3.   

    找到p1中第一个在p2中出现的字符。
    FindOneOf("abcdef","gd")
    返回值为"ef"具体流程可以在FindOneOf处设置断点,F10进行跟踪。
      

  4.   

    就是查找字符串等,ATL中,安装,卸载com组件的命令行参数 RegServer,UnRegServer等时用到
      

  5.   

    找到p1中查找p2第一个匹配字符的位置。例如:
    1)FindOneOf(_T("A.exe -Test"),_T("-/"));
    返回值为"Test";
    2)FindOneOf(_T("A.exe /Test"),_T("-/"));
    返回值为"Test";
      

  6.   

    突然发现这段代码挺有意思的,刚才回答实际上错了!
    这段代码的目的确切的说,是从p1中找出第一个在p2中所含有的字符!如果有(能找到),就返回p1中该字符的下一个字符;如果没有,返回NULL;
    比如FindOneOf("abcdef","gd") ,返回为"ef";
    FindOneOf("abcdef","gg") ,返回为NULL
    FindOneOf("abcdef","ab"), 返回为"bcdef";
      

  7.   

    查找P2中的任意一个字符在P1中第一次出现后,输出P1中出现位置以后的字符串。// 注意第二个参数
    1. FindOneOf("abcdef", "bf"); // 返回"cdef"2. FindOneOf("abcdef", "fb"); // 返回"cdef"
      

  8.   

    http://www.moon-soft.com/doc/15520.htm
      

  9.   

    http://www.moon-soft.com/doc/15520.htm