在线等,GetFileSize问题 为什么,我用GetFileSize取得文件大小,如果文件存在返回是1,不存在则返回0怎么没有返回文件具体大小呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 m_file = ::CreateFile(file, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(m_file == INVALID_HANDLE_VALUE) return 0; DWORD dwHigh = 0; m_size = ::GetFileSize(m_file, &dwHigh); MSDN上有例子,我想你可能搞错了,你可以借鉴1楼和我贴过来的代码看看// // Case One: calling the function with // lpFileSizeHigh == NULL // Try to obtain hFile's size dwSize = GetFileSize (hFile, NULL) ; // If we failed ... if (dwSize == 0xFFFFFFFF) { // Obtain the error code. dwError = GetLastError() ; // Deal with that failure. . . . } // End of error handler // // Case Two: calling the function with // lpFileSizeHigh != NULL // Try to obtain hFile's huge size. dwSizeLow = GetFileSize (hFile, & dwSizeHigh) ; // If we failed ... if (dwSizeLow == 0xFFFFFFFF && (dwError = GetLastError()) != NO_ERROR ){ // Deal with that failure. . . . } // End of error handler. 楼主,把你这个函数放到msdn,看例子就知道了 m_hGetFileSize=CreateFile((LPCWSTR)szPath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); dwFileSize=GetFileSize(m_hGetFileSize,NULL); if(m_hGetFileSize == INVALID_HANDLE_VALUE||dwFileSize == 0xFFFFFFFF ) { //不存在 } else { //存在 }这样有错吗 m_hGetFileSize=CreateFile((LPCWSTR)szPath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(m_hGetFileSize == INVALID_HANDLE_VALUE||dwFileSize == 0xFFFFFFFF ){ //不存在}else{ //存在 dwFileSize = GetFileSize(m_hGetFileSize,NULL); //如果你的文件长度小于DWORD所能表示的范围 //DWORD dwFileSizeHigh = 0; //dwFileSize = GetFileSize(m_hGetFileSize, &dwFileSizeHigh); if(dwFileSize == INVALID_FILE_SIZE) { DWORD dwError = GetLastError(); //得到错误信息 }} 这个“画线”怎么这么慢,是我代码问题,还是电脑问题。 请教各位下面的代码为什么创建(notepad,记事本程序)进程失败了? vista里面出现的ntdll.dll异常 请问如何在窗口以外扔能接收到鼠标移动的消息? 如何用VC++连接firebird数据库啊,有没有这方面的书啊。 用过tinyxml的进来看看 office2003的类型库名 C++问题 实际中有用gdi+的吗 哪里有用vc编com 的东西,? 像瑞星和卡巴那样,在windows用户验证界面上弄个徽标,是怎么实现的。 请教大家个问题~~
if(m_file == INVALID_HANDLE_VALUE)
return 0;
DWORD dwHigh = 0;
m_size = ::GetFileSize(m_file, &dwHigh);
// Case One: calling the function with
// lpFileSizeHigh == NULL
// Try to obtain hFile's size
dwSize = GetFileSize (hFile, NULL) ;
// If we failed ...
if (dwSize == 0xFFFFFFFF) {
// Obtain the error code.
dwError = GetLastError() ;
// Deal with that failure.
.
.
.
} // End of error handler
//
// Case Two: calling the function with
// lpFileSizeHigh != NULL
// Try to obtain hFile's huge size.
dwSizeLow = GetFileSize (hFile, & dwSizeHigh) ;
// If we failed ...
if (dwSizeLow == 0xFFFFFFFF
&&
(dwError = GetLastError()) != NO_ERROR ){
// Deal with that failure.
.
.
.
} // End of error handler.
m_hGetFileSize=CreateFile((LPCWSTR)szPath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); dwFileSize=GetFileSize(m_hGetFileSize,NULL); if(m_hGetFileSize == INVALID_HANDLE_VALUE||dwFileSize == 0xFFFFFFFF )
{
//不存在 }
else
{
//存在
}
这样有错吗
if(m_hGetFileSize == INVALID_HANDLE_VALUE||dwFileSize == 0xFFFFFFFF )
{
//不存在
}
else
{
//存在
dwFileSize = GetFileSize(m_hGetFileSize,NULL); //如果你的文件长度小于DWORD所能表示的范围
//DWORD dwFileSizeHigh = 0;
//dwFileSize = GetFileSize(m_hGetFileSize, &dwFileSizeHigh);
if(dwFileSize == INVALID_FILE_SIZE)
{
DWORD dwError = GetLastError(); //得到错误信息
}
}