C++/VC文件(夹)操作总结:拷贝、删除等

2012-02-16 20:38:23|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C/C++, 文件操作|来源:唯设编程网

1.2、不引用MFC的C++环境中使用

/////////////////////////////////
//C++版 目录拷贝
/////////////////////////////////
#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
#include <io.h>
#include <windows.h>
void FileCopyTo(char *source, char *dis, char *searchChars, bool bcover /*= true*/)
{   
    struct _finddata_t   ffblk;  
    char path[256], SourcePath[256], DisPath[256];  
    sprintf(path,"%sq_*",source);  
    long done = _findfirst(path,&ffblk);  
    int find=0;  
    while (find==0)    
    {    
        if(strcmp(ffblk.name, "q_"))
        {
            sprintf(SourcePath, "%s\%s",source, ffblk.name);
            sprintf(DisPath, "%s\%s",dis, ffblk.name);
            CopyFile(SourcePath, DisPath, bcover);
        }
        find=_findnext(done,&ffblk);    
    }  
    _findclose(done);  
}

2、目录删除


//删除文件夹目录(非空)
bool DeleteDirectory(char* sDirName)
{
    CFileFind tempFind;
    char sTempFileFind[200] ;

    sprintf(sTempFileFind,"%s*.*",sDirName);
    BOOL IsFinded = tempFind.FindFile(sTempFileFind);
    while (IsFinded)
    {
        IsFinded = tempFind.FindNextFile();

        if (!tempFind.IsDots())
        {
            char sFoundFileName[200];
            strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(200));

            if (tempFind.IsDirectory())
            {
                char sTempDir[200];
                sprintf(sTempDir,"%s\%s",sDirName,sFoundFileName);
                DeleteDirectory(sTempDir);
            }
            else
            {
                char sTempFileName[200];
                sprintf(sTempFileName,"%s\%s",sDirName,sFoundFileName);
                DeleteFile(sTempFileName);
            }
        }
    }
    tempFind.Close();
    if(!RemoveDirectory(sDirName))
    {
        return FALSE;
    }
    return TRUE;
}

方案二:执行系统提供的批处理(CMD)命令

实例代码:


#include<stdlib.h>
#include<stdio.h>

int main()
{
    system("md d:aazhao"); // 在下新建文件夹
    system("del d:aazhao"); // 删除该文件夹下的所有文件
}

本方案使用简单,操作灵活,但是需要用户具备基本的批处理知识。

<12>
发表评论0条 】
网友评论(共?条评论)..
C++/VC文件(夹)操作总结:拷贝、删除等