c/c++创建删除文件操作
最近温习c语言功课,一直为返回字符串数组问题所困扰,网搜无完整应用信息,不得其法,经过不断实践修改,略有所悟,记录如下:
/* run this program using the console pauser or add your own getch, system("pause") or input loop
program:create_delete_file.cpp
written by adengou
date:2018-05-01
ide:dev c++ 5.11
application:为处理返回字符串数组问题提供参考
*/
#include
#include
#include
char **funfilepath(char** arrfilename,int nlength);
int createfile(char *contenttxt,int nlength);
int deletefile(int nlength);
int main(int argc, char** argv) {
char contenttxt[512]="written by adengou";//写入文件的内容
int nlength = 10;//创建10个文件
createfile(contenttxt,nlength);//创建文件
deletefile(nlength);//删除文件
system("pause");
return 0;
}
//设置批量文件
char **funfilepath(char** arrfilename, int nlength)
{
char path[255];
char filename[255];
for(int i=0;i getcurrentdirectory(sizeof(path),path);
wsprintf(filename,"\\%d.txt",i);//创建文件名
strcat(path,filename);
arrfilename[i]=(char *)malloc(255);/*增开动态内存保存字符串,外部函数读取完毕记得free(arrfilename[i]);释放内存 */
strcpy(arrfilename[i],path);
}
//printf("%s\n",arrfilename[i]);//test
return arrfilename;
}
//批量创建文件
int createfile(char *contenttxt,int nlength){
//int nlength = 10;
char* arrfilename[nlength];
funfilepath(arrfilename,nlength);
//printf("%d\n",sizeof(arrfilename)/sizeof(char**));//字符串数组个数
for(int i=0;i handle hfile;
hfile = createfile(arrfilename[i],generic_write,0,null,create_always,file_attribute_normal,null);
if(hfile==invalid_handle_value){
continue;
}
dword dwwrite;
writefile(hfile,contenttxt,strlen(contenttxt),&dwwrite,null);//创建文件并写入内容
printf("%s----创建成功!\n",arrfilename[i]);
closehandle(hfile);
free(arrfilename[i]);//释放内存
}
//memset(arrfilename,0x00,255);//清空数组内容
return 0;
}
//批量删除文件
int deletefile(int nlength){
char* arrfn[nlength];
funfilepath(arrfn,nlength);
//printf("%d\n",sizeof(arrfilename)/sizeof(char**));//字符串数组个数
printf("开始删除文件:\n");
for(int i=0;i
if( remove(arrfn[i]) == 0 )
printf(" %s 文件删除成功!\n", arrfn[i]);
else
perror("remove");
free(arrfn[i]);//释放内存
}
//memset(arrfn,0x00,255);//清空数组内容
return 0;
}
上一篇: 怎样减肥最快最有效 七个饮食指南要牢记