ReadFile读取成功,但只有前几个字节!求助谢谢~
图片↑(滑稽.png)
我想实用ReadFile函数读取这个图片的所有内容,代码如下↓
程序代码:
#include<iostream> #include<Windows.h> int main() { HANDLE hFile = ::CreateFileA("C:\\Users\\CrezS\\Desktop\\滑稽.png", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) return 0; unsigned long FileSize_Low, FileSize_High; FileSize_Low = GetFileSize(hFile, &FileSize_High); std::cout << hFile << std::endl; std::cout << FileSize_Low << std::endl; char* Buffer = new char[FileSize_Low]; int Read = ReadFile(hFile, Buffer, FileSize_Low, &FileSize_Low, NULL); if (Read == 0) return 0; CloseHandle(hFile); std::cout << strlen(Buffer); }
第一处cout返回的是000000D4,应该是成功的~
第二处返回4911,是文件大小(图片30*30)
但第三处strlen返回的是8,怎么改都解决不了,请问是什么问题,谢谢各位大佬~
(PS:分数有限,谢谢~)
↑输出的内容,转换成整数确实是png的文件头一部分
[此贴子已经被作者于2020-9-5 16:04编辑过]