我想检查,然后创建一个目录,如果它不存在
我使用了以下代码:
#define APP_DATA_DIR_CHILD_2 "./child2"
g_nResult = GetFileAttributes((wchar_t*)APP_DATA_DIR_CHILD_2);
if (g_nResult <= 0)
{
g_nResult = mkdir(APP_DATA_DIR_CHILD_2);
}
但是它没有正确检查。即使创建了目录,在GetFileAttributes()
中也得到-1。
有人能帮帮我吗?
PS:我还想确保代码在Linux和Windows上都能工作。
Replace
#define APP_DATA_DIR_CHILD_2 "./child2"
g_nResult = GetFileAttributes((wchar_t*)APP_DATA_DIR_CHILD_2);
By(如果定义了Unicode)
#define APP_DATA_DIR_CHILD_2 L"./child2"
g_nResult = GetFileAttributes(APP_DATA_DIR_CHILD_2);
你的代码是远的可移植…使用stat代替
struct stat sts;
if ( stat(APP_DATA_DIR_CHILD_2, &sts) != 0) {
// Fail to get info about the file, may not exist...
}
else {
if (S_ISDIR(sts.st_mode)) { /* The file is a directory... */ }
}
查看文档:http://linux.die.net/man/2/stat