GetLastError()函数的介绍
作用就是取得上一个函数操作时所产生的错误代码(可以通过VC++自带的Error Lookup工具来查找其所表示的含义)。
DWORD GetLastError(void);这是一个没有参数的函数,通过调用,就返回一个32位的数值。
下面编写了一个很简单的VC++例子来说明此函数
#include <windows.h>
int WINAPI wWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
HANDLE hfile=CreateFile("c://a.txt",0,0,NULL,OPEN_EXISTING,0,NULL);
DWORD k=GetLastError();
return 0;
}
这里,CreatFile是一个函数,即为已经存在的文件创建文件句柄,函数如果操作成功,就会返回0
我们用k变量来捕捉GetLastError函数返回的数值
然后在最后一句设置断点,就可以直观的看到变量k的数值了。
然后,我们在c:/建立一个文件,文件名就是a.txt
这是个正确的函数调用,所以,k为0;
当把"c://a.txt",更改为"c:/a.txt"后,k为123;
通过Error lookup工具的检索,可知,其含义为:“文件名、目录名或卷标语法不正确”
当把"c://a.txt",更改为"c:/b.txt"后,k为2;
通过Error lookup工具的检索,可知,其含义为:“系统找不到指定的文件”