GetBufferFromFile

0 0 2025-05-28 本文地址:http://www.pnpon.com/fun/detail-11.html
BOOL  GetBufferFromFile(TCHAR* pFileName, std::string& strFileStream)
{
    HANDLE hFile = INVALID_HANDLE_VALUE;
    BOOL isok = FALSE;
    do
    {
        hFile = CreateFile(pFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        if (INVALID_HANDLE_VALUE == hFile)
        {
            break;
        }

        DWORD dwFileSize = GetFileSize(hFile, NULL);
        if (dwFileSize == 0)
        {
            break;
        }
        strFileStream.resize(dwFileSize);

        DWORD dwBytesRead = 0;
        isok = ReadFile(hFile, (PVOID)&strFileStream.at(0), dwFileSize, &dwBytesRead, NULL);
        if (!isok)
        {
            break;
        }

    } while (0);

    if (hFile != INVALID_HANDLE_VALUE)
    {
        CloseHandle(hFile);
    }

    return isok;
}
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!