VC++中用来操作文件目录的类是哪一个呢?比如想获得当前目录的上一级目录,使用哪个类的方法比较好?
解决方案 »
- MeanShift算法的数学解释,还望各位可以介绍一二
- AFX_MODULE_STATE
- 这个是啥意思哦? JOB_OBJECT_UILIMIT_NONE
- 怎么将GDI+中的graphics里的图像保存到文件里
- CString CFile 问题!
- CFont对象的序列化问题~~
- 怎样发布程序???
- AFX_MODULE_STATE结构体是在哪里构造的?
- 哪里有WINDOWS 高级编程指南配套源程序下载
- 怎样编程屏蔽掉WIN,APP两个快捷键?
- VC++ 一个简单的小程序 VS2008编译器(多线程 远程通讯的小程序
- 为什么有些类在ClassWizard的Member variables无法增加成员变量
同级FindNextFile.
#include "shlwapi.h"TCHAR szPath[MAX_PATH];// 获得当前目录
::GetModuleFileName(NULL, szPath, MAX_PATH);// 获得上一层目录
PathRemoveFileSpec(szPath);
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。 是否需要在GetBufer后面调用ReleaseBuffer(),是根据你的后面的程序是否需要继续使用该字符串变量,并且是否动态改变其长度而定的。不是什么好地编程习惯,之类的原因。
如果你GetBuffer以后程序自函数就退出,局部变量都不存在了,调用不掉用ReleaseBuffer没什么意义了。 但如果你出现例如下面的代码
CString m_strA;
m_strA=_T( "123456 ");
m_strA.GetBuffer(6);
m_strA+=_T( "789 ");//此时就会出错了,因为需要动态加长字符串长度
“..\”上一级目录如果你需要修改 CString 中的内容,它有一个特殊的方法可以使用,那就是 GetBuffer,它的作用是返回一个可写的缓冲指针。