当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

用C++程序删除文本文件中以“//”开头的行

    VC++只提供了删除一个空目录的函数,而用往往希望删除其下有很多子目录与文件的目录。为了实现这一功能,下面编写了DeleteDirectory 函数,它可以实现这一功能。

    函数原型:BOOL DeleteDirectory(char *DirName);

    返回值:成功删除时返回TRUE,否则返回FALSE

    参数DirName为要删除的目录名,必须为绝对路径名,如“c:\\temp"。

    函数定义如下:

    BOOL DeleteDirectory(char *DirName)

    {

    CFileFind tempFind;

    char tempFileFind[200];

    sprintf(tempFileFind,"%s\\*.*",DirName);

    BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);

    while(IsFinded)

    {

    IsFinded=(BOOL)tempFind.FindNextFile();

    if(!tempFind.IsDots())

    {

    char foundFileName[200];

    strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));

    if(tempFind.IsDirectory())

    {

    char tempDir[200];

    sprintf(tempDir,"%s\\%s",DirName,foundFileName);

    DeleteDirectory(tempDir);

    }

    else

    {

    char tempFileName[200];

    sprintf(tempFileName,"%s\\%s",DirName,foundFileName);

    DeleteFile(tempFileName);

    }

    }

    }

    tempFind.Close();

    if(!RemovwDirctory(DirName))

    {

    MessageBox(0,"删除目录失败!","警告信息",MK_OK);

    return FALSE;

    }

    return TRUE;

    }

 

相关内容
赞助商链接