感谢帮助。在“书”(k&r)中找不到任何提及这一点的地方。
ergxz8rk1#
通过调用[mkdir()](http://linux.die.net/man/2/mkdir)函数。链接到在线手册页面。要在您的(Linux)机器上获取该页面,请在终端中输入:
[mkdir()](http://linux.die.net/man/2/mkdir)
$ man 2 mkdir
“2”很重要,称为manual page section number。由于您需要C函数“mkdir”的帮助,而不是命令行命令“mkdir”,因此您需要指定部分,否则您将默认获得命令。
dly7yett2#
虽然不是标准库的一部分,但大多数实现都包含mkdir():
#include <dir.h>...mkdir("directory");
#include <dir.h>
...
mkdir("directory");
mbyulnm03#
NAME mkdir - create a directorySYNOPSIS #include <sys/stat.h> #include <sys/types.h> int mkdir(const char *pathname, mode_t mode);CONFORMING TO SVr4, BSD, POSIX.1-2001.
NAME
mkdir - create a directory
SYNOPSIS
#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);
CONFORMING TO
SVr4, BSD, POSIX.1-2001.
ryhaxcpt4#
在Linux上,您可以使用POSIX mkdir()。有关文档,请单击该链接或从命令行尝试man 2 mkdir。
mkdir()
man 2 mkdir
chhkpiq45#
所以,现在是2023年了,仍然没有办法用C语言的纯标准库创建一个目录,因为仍然有没有目录的操作系统,仍然没有关于所有这些计算东西的约定,关于我们想要成为标准的东西。对于MS Windows用途:
#ifdef _WIN32 /* or whatever name for MS target platform, */ /* according to your compiler convention.. */ #include <direct.h> #endif/* ... */ directory_name[] = "my_folder";_mkdir(directory_name);/* ... */
#ifdef _WIN32 /* or whatever name for MS target platform, */
/* according to your compiler convention.. */
#include <direct.h>
#endif
/* ... */
directory_name[] = "my_folder";
_mkdir(directory_name);
对于UNIX用途:
#ifdef __unix__ #include <sys/types.h> #include <sys/stat.h> #endif/* ... */ directory_name[] = "my_folder";mkdir(directory_name, 0777); /* second argument is access-rights *//* ... */
#ifdef __unix__
mkdir(directory_name, 0777); /* second argument is access-rights */
gcc constant names for most platforms对于clang,我没有找到常量名称,只知道对于MS Windows WIN32,可以使用clang编译器;只找到clang supported platformsp.s不要忘记目录路径的平台相关斜杠样式-\是MS样式,/是UNIX样式。
WIN32
\
/
drkbr07n6#
mkdir
6条答案
按热度按时间ergxz8rk1#
通过调用
[mkdir()](http://linux.die.net/man/2/mkdir)
函数。链接到在线手册页面。要在您的(Linux)机器上获取该页面,请在终端中输入:“2”很重要,称为manual page section number。由于您需要C函数“mkdir”的帮助,而不是命令行命令“mkdir”,因此您需要指定部分,否则您将默认获得命令。
dly7yett2#
虽然不是标准库的一部分,但大多数实现都包含mkdir():
mbyulnm03#
ryhaxcpt4#
在Linux上,您可以使用POSIX
mkdir()
。有关文档,请单击该链接或从命令行尝试
man 2 mkdir
。chhkpiq45#
所以,现在是2023年了,仍然没有办法用C语言的纯标准库创建一个目录,因为仍然有没有目录的操作系统,仍然没有关于所有这些计算东西的约定,关于我们想要成为标准的东西。
对于MS Windows用途:
对于UNIX用途:
gcc constant names for most platforms
对于clang,我没有找到常量名称,只知道对于MS Windows
WIN32
,可以使用clang编译器;只找到clang supported platformsp.s不要忘记目录路径的平台相关斜杠样式-
\
是MS样式,/
是UNIX样式。drkbr07n6#
mkdir