文件的创建、打开与关闭操作

1、通过本节课学习的知识,封装一个函数,实现判断某个路径的文件是否存在,如果存在则返回TRUE,不存在返回FALSE;
2、封装一个函数,实现清空某个文件的内容,函数执行成功返回TRUE,失败返回FALSE;
3、创建一个具有隐藏属性的文件。

#include <Windows.h>
#include <tchar.h>
BOOL Is_File_Exist(LPCTSTR lpFile_Path)
{
    if (!lpFile_Path || _tcslen(lpFile_Path) < 3) return FALSE;
    HANDLE hFile = CreateFile(lpFile_Path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile != INVALID_HANDLE_VALUE && GetLastError() != ERROR_FILE_NOT_FOUND)
    {
        CloseHandle(hFile);
        return TRUE;
    }
    else
    {
        CloseHandle(hFile);
        return FALSE;
    }
}
BOOL Clear_File_Content(LPCTSTR lpFile_Path)
{
    if (!lpFile_Path || _tcslen(lpFile_Path) < 3) return FALSE;
    HANDLE hFile = CreateFile(lpFile_Path, GENERIC_WRITE, FILE_SHARE_READ, NULL, TRUNCATE_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile != INVALID_HANDLE_VALUE)
    {
        CloseHandle(hFile);
        return TRUE;
    }
    else
    {
        CloseHandle(hFile);
        return FALSE;
    }
}
BOOL CreateHideFile(LPCTSTR lpFilePath)
{
    if (!lpFilePath || _tcslen(lpFilePath) < 3) return FALSE;

    HANDLE hFile = CreateFile(lpFilePath, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, NULL);
    if (hFile == INVALID_HANDLE_VALUE) return FALSE;

    CloseHandle(hFile);
    return TRUE;
}
int WINAPI _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPTSTR lpCmdLine, INT nCmdShow)
{
    //BOOL a  = Is_File_Exist(_T("d://1.txt")); //存在为1 不存在为0
    //BOOL a = Clear_File_Content(_T("d://b.txt")); //1为成功 0为不成功
    BOOL a = CreateHideFile(_T("d://b.txt")); //1为成功 0为不成功
    return 0;
}

 

posted on 2021-01-19 19:39  SakuraQAQ  阅读(267)  评论(0)    收藏  举报

导航