#include <windows.h>
#include <stdio.h>
#include <stdlib.h> //为了使用exit()
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
__int64 myFileSeek (HANDLE hf, __int64 distance, DWORD MoveMethod)
//文件指针移动
{
LARGE_INTEGER li; //定义一个64位结构DWORD LowPart;LONG HighPart;LONGLONG QuadPart;
li.QuadPart = distance;
li.LowPart = SetFilePointer (hf,
li.LowPart,
&li.HighPart,
MoveMethod);
//FILE_BEGIN lOffset将新位置设为从文件起始处开始算的起的一个偏移
//FILE_CURRENT lOffset将新位置设为从当前位置开始计算的一个偏移
//FILE_END lOffset将新位置设为从文件尾开始计算的一个偏移
if (li.LowPart == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR)
{
li.QuadPart = -1;
printf("eee!");
}
return li.QuadPart;
}
__int64 myFileSize (HANDLE hf)
//获得文件长度
{
LARGE_INTEGER lgh; //定义一个64位结构DWORD LowPart;LONG HighPart;LONGLONG QuadPart;
lgh.QuadPart = 0;
lgh.LowPart = SetFilePointer (hf,
lgh.LowPart,
&lgh.HighPart,
FILE_END);
if (lgh.LowPart == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR)
{
lgh.QuadPart = -1;
printf("eee!");
}
return lgh.QuadPart;
}
int main()
{
char fname[50]; //用于存放文件名
printf("输入文件名:");
scanf("%s",fname);
unsigned char *pBuffer;
DWORD RSize;
__int64 fileSize = 0;
__int64 fileoffset = 0;
printf("输入文件指针:");
scanf("%I64d",&fileoffset);
HANDLE hOpenFile = (HANDLE)CreateFile(fname, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL);
if (hOpenFile == INVALID_HANDLE_VALUE)
{
hOpenFile = NULL;
MessageBoxA(NULL, "Can not open the file", "Playwav", MB_OK);
exit(1);
}
fileSize = myFileSize(hOpenFile);
printf("FILE_SIZE: %I64d \n",fileSize);
pBuffer = (unsigned char *) malloc(20480);
//malloc是动态分配内存
myFileSeek(hOpenFile,fileoffset,FILE_BEGIN);
//myFileSeek(hOpenFile,9261023230,FILE_BEGIN);
ReadFile(hOpenFile, pBuffer, 2, &RSize, NULL);
printf( "BYTE of FILE_OFFSET:%X \n",pBuffer[0]);
//可将pBuffer显示在某区域或写入另一个文件来检查读出是否正确
free(pBuffer);
CloseHandle(hOpenFile);
printf("Press any key to Exit!");
scanf("%s",fname);
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
840895.rar (13个子文件)
读4G以上WINOWS大文件VC6原码
main.ncb 49KB
Debug
main.exe 180KB
vc60.pdb 76KB
main.pch 3.39MB
main.pdb 361KB
vc60.idb 129KB
main.obj 15KB
main.ilk 182KB
main.opt 53KB
main.cpp 2KB
main.dsw 516B
main.dsp 3KB
main.plg 1KB
新建文件夹
共 13 条
- 1
qq_41934573
- 粉丝: 159
- 资源: 459
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页