利用C语言创建、删除目录,批量创建文件

由于c语言中没有特定的创建和删除目录的库函数,所以创建和删除目录利用的是cmd中的命令,创建目录命令用“md”,删除目录命令用“rd”。原理很简单,c语言通过调用system函数来执行cmd命令。所以,有了system函数,c语言的功能将被大大地扩展了。例如,利用system(“cls”)清屏等等。

我做了一个小例子,大家看一下,很简单,一看就会:


#include <stdio.h>
#include <string.h>
#include <io.h>
#define FILENUM		5
void createapath(char *dir);
void deleteapath(char *dir);
//删除临时目录
void deleteapath(char *dir)
{
	char execmd[50] = {0};
	strcpy(execmd,"rd/s/q ");
	strcat(execmd,dir);
	system(execmd);
}

//创建一个临时目录
void createapath(char *dir)
{
	char execmd[50] = {0};
	if (!access(dir,0))
	{//如果该目录存在,则删除
		deleteapath(dir);	
	}
	strcpy(execmd,"md ");
	strcat(execmd,dir);
	system(execmd);
}


FILE* createfile(const char *path,const char* mode)
{//创建一个文件
	FILE *fp = NULL;
	if (NULL == (fp = fopen(path,mode)))
	{
		printf("FILE ERROR!\n");
		getch();
		exit(1);
	}
	return fp;
}

char* cmbfilename(char* fullpath,const char *dir,const char* name,const char* format)
{//将目录、文件名、文件格式组合成一个完整的文件路径
	strcpy(fullpath,dir);
	strcat(fullpath,name);
	strcat(fullpath,".db");
	return fullpath;
}
int main(void)
{
	int i = 0;
	FILE *fp = NULL;
	char arr[50] = {0};
	char dir[20] = "d:\\mytemp\\";
	char num[10] = {0};
	createapath(dir);
	for (i = 0;i < FILENUM;i ++)
	{
		memset(arr,0,sizeof(arr));
		sprintf(num,"%d",i);
		cmbfilename(arr,dir,num,".db");
		fp = createfile(arr,"wb+");
		fclose(fp);
	}
	//deleteapath(dir);
	getch();
	return 0;
}



这是一个简单的例子,希望对看到的读者有帮助!本人菜鸟,所以肯定也有很多不足之处,还请高手多多指正。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值