当前位置: 移动技术网 > IT编程>开发语言>C/C++ > c/c++创建删除文件操作

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

2018年10月09日  | 移动技术网IT编程  | 我要评论

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

}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网