#include "stdafx.h"
#include "ErrException.h"
...
//创建或打开文件
CFile file = ::CreateFile(
sz,
GENERIC_WRITE,
0,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(file.IsInvalid())
{
this->ThrowErrorException(::GetLastError());
}
if(INVALID_SET_FILE_POINTER == ::SetFilePointer(file, 0L, NULL, FILE_END))
{
this->ThrowErrorException(::GetLastError());
}错误的是“INVALID_SET_FILE_POINTER: undclared identifier”。我准备在stdafx.h或者ErrException.h中定义它,但不知道该定义为什么数据类型?好像应该定义为public的吧?顺便问问:代码中的::是什么意思?
#include "ErrException.h"
...
//创建或打开文件
CFile file = ::CreateFile(
sz,
GENERIC_WRITE,
0,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(file.IsInvalid())
{
this->ThrowErrorException(::GetLastError());
}
if(INVALID_SET_FILE_POINTER == ::SetFilePointer(file, 0L, NULL, FILE_END))
{
this->ThrowErrorException(::GetLastError());
}错误的是“INVALID_SET_FILE_POINTER: undclared identifier”。我准备在stdafx.h或者ErrException.h中定义它,但不知道该定义为什么数据类型?好像应该定义为public的吧?顺便问问:代码中的::是什么意思?
不是什么file指针,INVALID_SET_FILE_POINTER错误就是这个了HANDLE hFile = CreateFile("MYFILE.TXT", // create MYFILE.TXT
GENERIC_WRITE, // open for writing
0, // do not share
NULL, // no security
CREATE_ALWAYS, // overwrite existing
FILE_ATTRIBUTE_NORMAL | // normal file
FILE_FLAG_OVERLAPPED, // asynchronous I/O
NULL); // no attr. template if (hFile == INVALID_HANDLE_VALUE)
{
ErrorHandler("Could not open file."); // process error
} 这样才对吗!祝你好运