重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Linux c语言可以使用系统提供的mkdir函数来创建文件夹。
创新互联建站是一家集网站建设,隆安企业网站建设,隆安品牌网站建设,网站定制,隆安网站建设报价,网络营销,网络优化,隆安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
1、函数原型
int mkdir(const char *path, mode_t mode);
2、参数说明:
path是目录名
mode是目录权限
3、需要头文件
#include sys/stat.h
4、示例
//添加mkdir函数声明头文件
#include sys/stat.h
#include sys/types.h
int main() //主函数
{
//直接调用mkdir函数
//建立一个名为zhidao的文件夹
//权限为0777,即拥有者权限为读、写、执行
//拥有者所在组的权限为读、写、执行
//其它用户的权限为读、写、执行
mkdir("zhidao",0777);
return 0;
}
说明:函数调用试图建立777权限的文件夹,但是在实际程序执行时,还需要考虑umask值,最终才会得到实际的权限。
5、执行效果如下图所示
说明:t.c是源码文件,有gcc进行编译,-o是gcc的参数,有于指明编译后输出的文件,t为源码经gcc编译后生成的可执行文件。./t是执行当前目录下的生成的可执行文件t。
新建目录的方法:
#include direct.h
#include stdlib.h
#include stdio.h
int main( void )
{
if( _mkdir( "\\testtmp" ) == 0 )
{
printf( "Directory '\\testtmp' was successfully created\n" );
system( "dir \\testtmp" );
if( _rmdir( "\\testtmp" ) == 0 )
printf( "Directory '\\testtmp' was successfully removed\n" );
else
printf( "Problem removing directory '\\testtmp'\n" );
}
else
printf( "Problem creating directory '\\testtmp'\n" );
}
所在函数库为dir.h、dos.h
int chdir(char *path) 使指定的目录path(如:C:\\WPS)变成当前的工作目录,成
功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功
返回0
pathname为指定的目录名和文件名,如C:\\WPS\\TXT
ffblk为指定的保存文件信息的一个结构,定义如下: struct ffblk { char ff_reserved[21]; /*DOS保留字*/ char ff_attrib; /*文件属性*/ int ff_ftime; /*文件时间*/ int ff_fdate; /*文件日期*/ long ff_fsize; /*文件长度*/ char ff_name[13]; /*文件名*/ } attrib为文件属性,由以下字符代表
┃FA_RDONLY 只读文件┃FA_LABEL 卷标号┃
┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录 ┃
┃FA_SYSTEM 系统文件┃FA_ARCH 档案 ┃
例:
struct ffblk ff;
findfirst(*.wps,ff,FA_RDONLY);
int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0
void fumerge(char *path,char *drive,char *dir,char *name,char *ext)
此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名
存与path中.
int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)
此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),
文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.
int getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称
drive 指定的驱动器(0=当前,1=A,2=B,3=C等)
direc 保存指定驱动器当前工作路径的变量 成功返回0
char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字
节长为为止.错误返回NULL
int getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等)
int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等),
返回可使用驱动器总数
int mkdir(char *pathname) 建立一个新的目录pathname,成功返回0
int rmdir(char *pathname) 删除一个目录pathname,成功返回0
char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中
char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径,
,此函数使用DOS的PATH变量,未找到文件返回NULL
在C语言中可以通过调用创建文件夹函数,或者使用系统命令两种方法创建文件夹。
一、调用库函数。
C语言库函数创建文件夹依赖于编译器,不同编译器使用的创建文件夹函数不同。 举例如下:
1、VC/VS编译器。
函数声明为 int _mkdir( const char *dirname );
头文件为direct.h。
功能为创建dirname文件夹,并返回结果,如果成功则返回0,否则返回-1。
2、TC编译器。
声明形式为 int mkdir(char *pathname);
头文件为dir.h。
功能为创建pathname文件夹,并返回结果,如果成功则返回0,否则返回-1。
3、gcc编译器。
声明形式为int mkdir(const char *pathname, mode_t mode);
其中函数头文件为sys/stat.h, 参数类型mode_t头文件为sys/types.h。
与其他编译器的创建文件夹函数不同,gcc创建文件夹多了一个参数mode, 指定被创建文件夹的权限。
函数功能为创建文件夹名为pathname, 权限值为mode的文件夹。 如果成功则返回0,否则返回-1。
二、通过系统命令调用。
在C 语言中可以通过system函数调用系统命令,具体命令格式取决于操作系统。
比如在Linux/Unix下,可以使用:
system("mkdir ./XXX");
来创建XXX文件夹。
而在windows下需要使用dos命令,比如:
system("mkdir .\\XXX");