这个代码可以获得GetLastError所对应的字符串
#include <windows.h>#include <stdio.h>
#include <tchar.h>
int main()
{
DWORD nErrorNo; // 错误代码
printf("请出入一个数字(错误号):\n");
scanf("%u", &nErrorNo);
LPSTR lpBuffer;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_IGNORE_INSERTS |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
nErrorNo,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) & lpBuffer,
0,
NULL);
printf("返回信息: %s\n", lpBuffer);
return 0;
}
----------------解决方案--------------------------------------------------------
虽然看不懂 不过非常支持!!顶!!!
会考完了吧。 我下了 去学校了 。。。。
----------------解决方案--------------------------------------------------------
这个是技术性地,看不懂也正常。多积累一点这样的经验吧
----------------解决方案--------------------------------------------------------
lpBuffer不用分配空间???
[color=white]
----------------解决方案--------------------------------------------------------
不用。系统为你分配了
我一开始也吓一跳,但是运行后完全正常
----------------解决方案--------------------------------------------------------
我记得这个空间是需要释放的。使用LocalFree函数。
这就是我为什么宁愿包含一个atlstr.h使用CString来Format,而不愿意自己写代码的原因。
总是要记忆那么多的细节。
PS flyue拿点有技术含量的东西出来行不?
----------------解决方案--------------------------------------------------------