c语言如何置空文件夹,如何用C语言清空特定文件夹中的所有文件

当数据量很大且文件夹中的子文件夹和文件很多时,手工删除这些文件不现实,笔者今天写了一个程序,通过机器自动删除所有相关文件,十分快速,删除时间几乎可以不计。

代码如下,仅供参考。

#include "iostream.h"

#include "string.h"

#include "stdlib.h"

#include "time.h"

#include "math.h"

#include "windows.h"

#include "stdio.h"

#include "shellapi.h"

#include "fstream.h"

#include "string"

using namespace std;

void main()

{

//清空特定文件夹中的所有文件

char* a=".";

char* b="";

WIN32_FIND_DATA FileData,FileData_0;

HANDLE hSearch,hSearch_0;

BOOL fFinished=FALSE;

hSearch=FindFirstFile("C:\\experiment\\results_stat\\*.*",&FileData); //输入特定文件的绝对路径名

if(hSearch==INVALID_HANDLE_VALUE)

{

printf("No files found.");

return;

}

while(!fFinished)

{

if(FileData.cFileName[0]!=a[0]){

b=FileData.cFileName;

string addr=string("C:\\experiment\\results_stat\\")+string(b)+string("\\")+string("*.*"); //输入特定文件的绝对路径名

hSearch_0=FindFirstFile(addr.c_str(),&FileData_0);

while(FindNextFile(hSearch_0, &FileData_0)){

if(FileData_0.cFileName[0]!=a[0]){

string addr_0=string("C:\\experiment\\results_stat\\")+string(b)+string("\\")+FileData_0.cFileName; //输入特定文件的绝对路径名

DeleteFile(addr_0.c_str()); //清空特定文件夹中的子文件夹中的所有文件

}

}

}

if(!FindNextFile(hSearch,&FileData))

{

if(GetLastError()==ERROR_NO_MORE_FILES)

{

fFinished=TRUE;

}

else

{

printf("Couldn't find next file.");

return;

}

}

}

FindClose(hSearch);

FindClose(hSearch_0);

}

你可能感兴趣的:(c语言如何置空文件夹)