比如 CString strPathName= "C:\\abc\aaa.txt";如何提取其中的aaa.txt ???

解决方案 »

  1.   

    使用CString的ReverseFind查找'\'然后,使用CString的Right提取
      

  2.   

    CString strPathName= "C:\\abc\aaa.txt"; 这是不对的,应该是
    CString strPathName= "C:\\abc\\aaa.txt"; 
    用CString的ReverseFind函数即可。
    int nIdx = strPathName.ReverseFind('\\');
    CString sName = strPathName.Mid(nIdx+1);
      

  3.   

    CString strPathName = "C:\\abc\\aaa.txt";
    CString strName = strPathName.Right(strPathName.ReverseFind('\\') + 1);
      

  4.   

    请问怎么查找CString的ReverseFind查找'\'是不是 int nPos = strPathName.ReverseFind('\\');可是找出的位置 nPos = 2,显然不对?
      

  5.   

    不是说了么,
    CString strPathName= "C:\\abc\aaa.txt"; 这是不对的,应该是 
    CString strPathName= "C:\\abc\\aaa.txt"; 
      

  6.   

    ReverseFind返回的是从尾部往前倒着找到的索引号
    所以这里应该是:CString strPathName= "C:\\abc\aaa.txt"; 这是不对的,应该是 
    CString strPathName= "C:\\abc\\aaa.txt"; int nIdx = strPathName.ReverseFind('\\'); 
    CString sName = strPathName.Mid(strPathName.Length() - nIdx+1);//这里用字符串长度减去尾部数起的索引号就是正向的索引号.