在WINAPI中删除,复制,重命名文件和目录..?

时间:2010-06-02 07:37:07

标签: c++ winapi

嗨我做了一个代码,在某个文件名或文件夹的givin路径中搜索并打印值但现在我怎样才能修改它而不是打印它的名字执行操作(删除,复制,重命名)我在google上搜索并发现了什么。

#include "stdafx.h"
#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
    TCHAR *fn;
    fn=L"d:\\*";
    HANDLE f;

    WIN32_FIND_DATA data;

    f=FindFirstFile(fn,&data);
    if(f==INVALID_HANDLE_VALUE){
        printf("not found\n");
        return 0;
    }
    else{


        _tprintf(L"found this file: %s\n",data.cFileName);
        }
        while(FindNextFile(f,&data)){

        {
        _tprintf(L"found this file: %s\n",data.cFileName);
        }

        }
    }

    FindClose(f);
    return 0;
}

2 个答案:

答案 0 :(得分:3)

请参阅文件管理功能: http://msdn.microsoft.com/en-us/library/aa364232%28v=VS.85%29.aspx

DeleteFile,CopyFile,MoveFile(可用于重命名)。

我认为在FindFirstFile - FindNextFile循环中进行这些操作是危险的。这可能会影响正确的文件枚举。我只会在循环之后进行这些更改。

答案 1 :(得分:2)

要使用 CopyFile 复制文件,要使用 MoveFile 重命名或移动文件,要删除文件,请使用 DeleteFile 。更多:http://msdn.microsoft.com/en-us/library/aa364232(VS.85).aspx