VC++中用来操作文件目录的类是哪一个呢?比如想获得当前目录的上一级目录,使用哪个类的方法比较好?

解决方案 »

  1.   

    当前目录去一个“ \"
    同级FindNextFile.
      

  2.   

    GetModuleFileName获取当前目录,然后字符串查找 '\' , 截取获得上一级目录
      

  3.   


    #include "shlwapi.h"TCHAR szPath[MAX_PATH];// 获得当前目录
    ::GetModuleFileName(NULL, szPath, MAX_PATH);// 获得上一层目录
    PathRemoveFileSpec(szPath);
      

  4.   

    文件查找就用CFileFind类,如果想知道上一级目录,直接根据当前目录,去掉最后一个\后面的内容
      

  5.   

    CString  里的GetBuffer()是在什么上面分配内存的啊?谢谢
      

  6.   


    GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。 是否需要在GetBufer后面调用ReleaseBuffer(),是根据你的后面的程序是否需要继续使用该字符串变量,并且是否动态改变其长度而定的。不是什么好地编程习惯,之类的原因。 
    如果你GetBuffer以后程序自函数就退出,局部变量都不存在了,调用不掉用ReleaseBuffer没什么意义了。 但如果你出现例如下面的代码 
    CString   m_strA; 
    m_strA=_T( "123456 "); 
    m_strA.GetBuffer(6); 
    m_strA+=_T( "789 ");//此时就会出错了,因为需要动态加长字符串长度 
      

  7.   

    “.\”:当前目录
    “..\”上一级目录如果你需要修改 CString 中的内容,它有一个特殊的方法可以使用,那就是 GetBuffer,它的作用是返回一个可写的缓冲指针。