要链接的标头实际上是将(POSIX)dirent.h
调用转换为(本机)Windows调用。但是dirent.h
是关于dir部门ent的国家,即reading目录,而不是creating目录。
如果要创建目录(mkdir()
),则需要:
mkdir()
调用转换为相应的(本机)Windows函数调用(并且我无法为您指出这样的头),或// UGLY - these two don't belong in the same source...
#include <dirent.h>
#include <windows.h>
// ...
CreateDirectory( "D:\\TestDir", NULL );
// ...
[另一种解决方案是查看Cygwin,它提供了在Windows上运行的POSIX环境,包括Bash shell,GCC编译器工具链和POSIX标头的完整集合,例如dirent.h
,sys/stat.h
,[C0 ]等,允许您在编程中始终使用POSIX API。
不使用任何其他库的最简单帮助方法是。
sys/types.h
Visual Studio包含#if defined _MSC_VER
#include <direct.h>
#elif defined __GNUC__
#include <sys/types.h>
#include <sys/stat.h>
#endif
void createDir(string dir) {
#if defined _MSC_VER
_mkdir(dir.data());
#elif defined __GNUC__
mkdir(dir.data(), 0777);
#endif
}
标头。此标头声明<direct.h>
,可用于创建目录,并且是Visual Studio附带的C库的一部分。
另一个“简便”选项是使用Windows API调用,如_mkdir and _wmkdir所示。
您可以使用sys / types.h头文件并使用DevSolar方法创建目录以下是示例代码
mkdir(const char*)
mkdir已过时。提供#include<stdio.h>
#include<string.h>
#include <unistd.h>
#include<sys/stat.h>
#include<sys/types.h>
int main()
{
if(!mkdir("C:mydir"))
{
printf("File created\n");
}
else
printf("Error\n");
}
作为头文件。然后写
#include <direct.h>