c语言创建文件的作用,C语言文件与目录(一)

注意包含头文件

#include

#include

1.创建与删除目录

在Linux系统中,目录就是一个文件夹,文件可以存放在目录中。目录是一种特殊的文件,需要对目录设置权限。 创建目录函数mkdir:函数mkdir可以硬盘中建立一个目录,相当于mkdir命令。但与mkdir命令不同的是,这里的操作是用c语言的函数完成目录创建的。函数的使用方法如下所示。

int mkdir(char* pathname,mode_t mode);

在参数列表中,pathname是一个字符串,表示需要创建的目录路径。mode是表示权限的八进制数字。如果目录创建成功,则返回整型数0,否则返回整型数-1。要使用这个函数需要在程序中包含“sys/types.h”与“sys/stat.h”两个头文件。注意:使用mkdir函数创建目录时需要指定创建的目录的权限模式,权限模式以八进制的方式给出(以0开头的四个数字)。

DEMO:

char dir1[255];

char *mainpath="D:\C\test";

strcat(strcpy(dir1,mainpath),"\dir1");

if(mkdir(dir1,0777)==0)

{

printf("created successfully!\n");

}

else

{

printf("Error:%s!\n",strerror(errno));

}

删除目录函数rmdir:rmdir函数的作用是删除一个空目录。该函数的使用方法如下所示。

int rmdir(char *pathname);

参数pathname是需要删除的目录字符串指针。如果删除成功,则返回一个整型0,否则返回-1。

DEMO:

if(rmdir(dir1)==0)

{

printf("removed %s successfully!\n",dir1);

}

else

{

printf("Error:%s!\n",strerror(errno));

}

2.创建与删除文件

所谓创建文件,是指在一个目录建立一个空文件,可以文件可供其他程序的写入操作。删除文件指将无用的文件从磁盘中删除无用的文件。本节将讲解文件的建立与删除操作。创建文件函数creat:函数creat的作用是在目录中建立一个空文件,该函数的使用方法如下所示。

int creat(char * pathname, mode_t mode);

函数的参数pathname表示需要建立文件的文件名和目录名。mode表示这个文件的权限。文件权限的设置见本章第一节所述。文件创建成功时返回创建文件的编号,否则返回-1。

DEMO:

if(create(file1)==-1)

{

printf("Error:%s!\n",strerror(errno));

}

else

{

printf("created %s successfully!\n",file1);

}删除文件函数remove:函数remove的作用是删除一个文件。这个函数的使用方法如下所示。

int remove(char *pathname);

参数remove是一个字符串,表示需要删除的目录。文件删除成功则返回0,则否返回-1。要使用这个函数需要在程序的最前面包含下面的头文件#include 。

DEMO:

if(remove(file1)==0)

{

printf("deleted %s successfully!\n",file1);

}

else

{

printf("Error:%s!\n",strerror(errno));

}

3.临时文件操作

建立临时文件函数mkstemp:所谓临时文件,指的是程序运行时为了存储中间数据建立的文件。计算机重启时,这些文件会自动删除。如果在程序运行时,需要把文件短时间的写到磁盘上,可以使用mkstemp函数创建一个临时文件。mkstemp函数的使用方法如下所示。

int mkstemp(char *template);

参数template表示需要建立临时文件的文件名字符串。文件名字符串中最后六个字符必须是XXXXXX。mkstemp函数会以可读写模式和0600权限来打开该文件。如果文件不存在则会建立这个文件。返回值是打开文件的编号,如果文件建立不成功,则返回-1。 注意:参数template所指的文件名称字符串必须声明为数组,用下面这种声明数组的方法声明。char template[] =”template-XXXXXX”;使用下面这种声明字符串的方法声明的template是不能运行的char *template = “template-XXXXXX”;

DEMO:

char tem_file[]="template-file";

if(mkstemp(tem_file)==-1)

{

printf("Error:%s!\n",strerror(errno));

}

else

{

printf("created tem_file %s successfully!\n",tem_file);

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值