代码
#include <direct.h>
#define GetCurrentDir _getcwd
std::string get_current_dir() {
char buff[FILENAME_MAX]; //create string buffer to hold path
GetCurrentDir(buff, FILENAME_MAX);
string current_working_dir(buff);
return current_working_dir;
}
解析
direct.h 头文件中包含与文件路径相关的方法,我们主要需关注如下方法:
- int _chdir(char* path) 改变工作路径。
- int _chdrive(int drive) 改变磁盘。
char* _getcwd(char* buffer, size_t length) 获得当前工作路径。 - char *_getwd(char *path_name); 获得当前工作路径。
- int _getdrive(void) 获得工作的磁盘。
- int _mkdir(const char* pathname) 创建路径。
- int _rmdir(const char* pathname) 删除路径。
- void _fnmerge(char* path, const char* drive, const - - - - char* dir, const char* name, const char* ext) 合并路径。
- int _fnsplit(const char* path, char* drive, char* dir, char* name, char* ext) 分割路径。
- char* _searchpath(const char* file) 搜索路径中包含的文件。