CreateFile ReadFile 读取图片文件失败
通过CreateFile、ReadFile 读取图片文件,用于模拟网页POST上传至网上空间。但是通过ReadFile函数获得字符数组时只有一个符号‘?’,说明读取错误。但是用同样的方法,读取test.txt文本文件是正确的。
请问不能通过CreateFile、ReadFile 获得图片文件数据吗?我的最终目的将图片数据先读到内存中,然后再模拟网页POST将图片上传至网上空间。
以下为读取jpg图片文件代码:
HANDLE hFile;
int dwFileSize;
hFile=CreateFile("F:\\1.jpg",GENERIC_READ,0, NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
dwFileSize=GetFileSize(hFile,NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox("文件打开错误");
return ;
}
char *ansiPtr;
ansiPtr=new char[dwFileSize + 1];
ZeroMemory(ansiPtr,dwFileSize + 1);
if (ReadFile(hFile, ansiPtr, dwFileSize, &dwBytesRead, NULL))
{
ansiPtr[dwFileSize]='\0';
}
请问不能通过CreateFile、ReadFile 获得图片文件数据吗?我的最终目的将图片数据先读到内存中,然后再模拟网页POST将图片上传至网上空间。
以下为读取jpg图片文件代码:
HANDLE hFile;
int dwFileSize;
hFile=CreateFile("F:\\1.jpg",GENERIC_READ,0, NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
dwFileSize=GetFileSize(hFile,NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox("文件打开错误");
return ;
}
char *ansiPtr;
ansiPtr=new char[dwFileSize + 1];
ZeroMemory(ansiPtr,dwFileSize + 1);
if (ReadFile(hFile, ansiPtr, dwFileSize, &dwBytesRead, NULL))
{
ansiPtr[dwFileSize]='\0';
}
...全文
相关推荐
File_文件读写_MFC读写文件_
`CFile`类是MFC提供的一个抽象基类,它封装了Windows API中的文件操作函数,如CreateFile、ReadFile、WriteFile等。下面将详细介绍如何使用MFC进行文件读写。
CreateFile 文件读取和写入
= INVALID_HANDLE_VALUE) { // 文件打开成功,可以进行读取操作 char buffer[1024]; DWORD bytesRead; ReadFile(hFile, buffer
使用CreateFile,ReadFile,WriteFile等API读写文件的简单类
`ReadFile`接收一个文件句柄、缓冲区、要读取的字节数等参数,返回实际读取的字节数。`WriteFile`同样接收文件句柄、缓冲区和要写入的字节数,但返回值表示成功写入的字节数。
CreateFile,ReadFile等API详解(可锁定文件或文件夹)
### ReadFile API详解`ReadFile` 是另一个重要的Windows API函数,用于从文件或设备读取数据。
c语言程序设计文件操作方法示例(CreateFile和fopen)
如果文件打开失败,`fopen`将返回NULL,提示无法打开文件。 - 一旦文件成功打开,可以使用`fread`或`fgetc`等函数来读取数据,`fwrite`或`fputc`来写入数据。


