| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1817 人关注过本帖
标题:ReadFile读取成功,但只有前几个字节!求助谢谢~
取消只看楼主 加入收藏
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
结帖率:75%
收藏
已结贴  问题点数:25 回复次数:1 
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编辑过]

搜索更多相关主题的帖子: 读取 返回 std cout 成功 
2020-09-05 16:02
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
收藏
得分:0 
137
80
78
71
13
10
26
10
0
0
0
13
73
72
68
82
0
0
0
30
0
0
0
30
8
6
0
0
0
59
48
174
162
0
0
0
9
112
72
89
115
以上为部分成功的输出结果,感谢帮助~
2020-09-10 17:35
快速回复:ReadFile读取成功,但只有前几个字节!求助谢谢~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017738 second(s), 12 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved