由于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;
}
这是一个简单的例子,希望对看到的读者有帮助!本人菜鸟,所以肯定也有很多不足之处,还请高手多多指正。