mkdir(<name>)
之间有区别吗?和CreateDirectory(<name>, NULL)
在 Win32 下。
正如我所见,两者都在工作(以相同的方式??)
最佳答案
mkdir
(推荐的 _mkdir 是运行时库函数。CreateDirectory
特定于 Windows。如果您想要可移植代码,请调用 _mkdir
. 如果您愿意将程序设为特定于 Windows 的程序,或者需要添加安全描述符的功能,请调用 CreateDirectory
。
最有可能的是,Windows 的 _mkdir
实现调用 CreateDirectory(name, NULL)
。所以两者最终都会做同样的事情。
编辑:_mkdir() 的 Visual Studio 12 实现调用 _wmkdir(),然后调用 CreateDirectoryW:
int __cdecl _wmkdir (
const wchar_t *path
)
{
ULONG dosretval;
/* ask OS to create directory */
if (!CreateDirectoryW(path, (LPSECURITY_ATTRIBUTES)NULL))
dosretval = GetLastError();
else
dosretval = 0;
if (dosretval) {
/* error occured -- map error code and return */
_dosmaperr(dosretval);
return -1;
}
return 0;
}
关于winapi - mkdir 和 CreateDirectory 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24205401/