本帖最后由 fjchenqian 于 2010-07-24 01:31:51 编辑

解决方案 »

  1.   

    你学习一下 dynamic programming 吧
      

  2.   

    int n = str1.Find(str2 ,0);   // n就是在str1中找到的str2的第一个位置
      

  3.   

    自己也算写了个半成品吧 按照楼主的要求应该可以吧。关于相同 概念很多 比如 2个字符串还会有相同的字母。。
    CString findsamestr(const CString & str1,const CString & str2)
    {
    CString ret;
    int i=0;
    while(str1[i]==str2[i])
    {
    ret+=str1[i];
    i++;
    }
    return ret;
    }
    int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
    {
    CString str1 = "C:\\test\\test\\test1\\1.txt";
    CString str2 = "C:\\test\\test\\2.txt";
    cout<<(LPCSTR)findsamestr(str1,str2)<<endl;
    return 0;
    }
      

  4.   

    看看这里的实现http://topic.csdn.net/u/20080703/11/0543abfd-f20c-4f5a-84d6-04811cae6634.html