读书人

关于GetFileSize的有关问题高手帮小

发布时间: 2012-02-10 21:27:42 作者: rapoo

关于GetFileSize的问题,高手帮我看看我哪里用错了~!谢谢。
程序我是这么写的:
fh = CreateFile(vFileName,
GENERIC_READ,
0,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);

if (GetFileSize(fh,NULL) == 0)
{
CloseHandle(fh);
return res_AI_FileEmpty;
}

DWORD dw;
dwSize = GetFileSize(fh, &dw);

其中vFileName是通过C#的string类型传进来的,
等于0x0012eb88 "D:\0003.bmp "

但是结果dwSize=4294967295,
这么大的数,分明不对,
请高手告诉我哪里出了问题,
谢谢。

[解决办法]
dwSize = GetFileSize(fh, &dw);

if (dwSize == INVALID_FILE_SIZE)
{
DWORD dwError = GetLastError() ;

// Deal with that failure.
.
.
.
}
[解决办法]
错误代码6,表示句柄无效吧。(通过Error lookupc查的)
[解决办法]
文件名错了的可能性非常大,你把怎么得到vFileName这段代码拿出来看看。
[解决办法]
up

读书人网 >C++

热点推荐