VC一条语句的解释if(INVALID_HANDLE_VALUE!=hFile)在程序中的作用是什么?
VC一条语句的解释if(INVALID_HANDLE_VALUE!=hFile)在程序中的作用是什么?
void CMainFrame::OnFileOpen()
{
// TODO:Add your command handler code here
HANDLE hFile;
hFile=CreateFile("new.txt",GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);//创建文件
DWORD lWrites;//接受实际写入的字节数
if(INVALID_HANDLE_VALUE!=hFile)
{
char writeBuffer[]="利用API函数向文件中写入数据111";//写入数据
SetFilePointer(hFile,0,0,FILE_END);//设置写入数据在文件的初始位置
WriteFile(hFile,writeBuffer,sizeof(writeBuffer),&lWrites,NULL);
}
hFile=::CreateFile("new.txt",GENERIC_READ,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);//读取文件,打开
DWORD lReads;//接收实际读取的字节数
if(INVALID_HANDLE_VALUE!=hFile)
{
::SetFilePointer(hFile,4,0,FILE_BEGIN);//设置在文件读取的位置
char readBuffer[100];//创建缓冲区,存放从文件中读取的数据
memset(readBuffer,0,100);
::ReadFile(hFile,readBuffer,100,&lReads,NULL);
CloseHandle(hFile);
// MessageBox(readBuffer);
}
}
if(INVALID_HANDLE_VALUE!=hFile
hFile是创建文件的句柄,如果成功,hFile就是这个文件的句柄,如果失败,返回值就是是INVALID_HANDLE_VALUE,这句话就是看是不是失败了.