欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c/c++创建删除文件操作

程序员文章站 2022-06-02 12:46:54
最近温习c语言功课,一直为返回字符串数组问题所困扰,网搜无完整应用信息,不得其法,经过不断实践修改,略有所悟,记录如下: /* run this program using the console...

最近温习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;

}