windows获取文件大小

来源:互联网 发布:api数据对原油的影响 编辑:程序博客网 时间:2024/06/04 22:51

1、struct _stati64 buf;
memset(&buf, 0, sizeof(buf));
int nResult = _stati64(strFilePath.c_str(), &buf);

buf.st_size为文件大小,但如果写入新的内容使用fflush代替fclose时,获取到的文件大小不是真实的文件大小。


2、HANDLE handle = CreateFile(strFilePath, FILE_READ_EA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);

int nFileSize = 0;
    if (handle != INVALID_HANDLE_VALUE)
    {
        nFileSize = GetFileSize(handle, NULL);
        CloseHandle(handle);

    }

 此方法可以获取文件为关闭文件的真实大小。