真纳闷!一个晚上加一个早上一直停在这个问题上...我在遍历一个文件夹下的所有图片时,要使用每个图片的绝对路径,根据这个路径读取图片文件显示,可是怎么加也不会加上最后的文件名,比如:只能加到F:\Lpt\Sxs\Data\clock,就是加不上完整路径F:\Lpt\Sxs\Data\clock\第0帧.bmp,,我使用了好几个CString变量相加得到完整的图片路径.
路径是如下:
m_strFileName = m_strBmpDir + "\\" + m_strBmpFilePrefix + "\\" + m_strBMPName m_strBmpDir:执行文件所在目录的一个文件夹,m_strBmpFilePrefix:在strBmpDir下再生成的一个文件夹,m_strBMPName:图片文件名(包括.bmp),这样就是图片的完整路径即m_strFileName ,谢谢帮忙!!

解决方案 »

  1.   

    m_strFileName = m_strBmpDir + "\\" + m_strBmpFilePrefix + "\\" + m_strBMPName 
    调试下,每个值都是正确的吗?
      

  2.   

    调试过啦,我的代码是: m_strFileName = m_strBmpDir + "\\"; 
    m_strFileName = m_strFileName + m_strBmpFilePrefix ;
    TRACE("%d\n",m_strFileName.GetLength());
    m_strFileName = m_strFileName + "\\";
    TRACE("%d\n",m_strFileName.GetLength());
    m_strFileName = (m_strFileName+strBMPName);
    TRACE("%d\n",m_strFileName.GetLength());
    TRACE("%s\n",m_strFileName);
    TRACE("%s\n",strBMPName);
    TRACE("%s\n",m_strFileName+strBMPName);调试信息也贴出来:
    Sxs: 25
    Sxs: 26
    Sxs: 35
    Sxs: F:\Lpt\Sxs\Data\clock
    Sxs: 第0帧.bmp
    Sxs: F:\Lpt\Sxs\Data\clock
      

  3.   

    unicode?
    你先把文件名换成英文的试试看
      

  4.   

    为什么用CFile::GetFileTitle()得到的是有后缀的文件名啊,把我害惨了,不是GetFileName()才是得到有后缀的文件名吗?clock.avi啊,并不是我想得到的无后缀的文件名, CFile myFile(m_strAviFileName,CFile::modeRead|CFile::shareDenyNone);
    m_strBmpFilePrefix = myFile.GetFileTitle();
    m_strBmpFilePrefix.TrimRight(".avi");
    加上最后一句就OK了
      

  5.   

    TRACE("%s\n",m_strFileName);
    为什么没有输出Sxs: F:\Lpt\Sxs\Data\clock.avi 真奇怪!