Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
Delphi 7 Professional
|
Re: [C] Zeichenfolge aus Funktion zurückgeben
13. Sep 2006, 11:30
Code:
#include <stdio.h>
#include <windows.h>
DWORD SysErrorMessage(const int ErrorCode, wchar_t* szBuf, const DWORD ArrayLength)
{
DWORD result = 0;
LPVOID lpMsgBuf = NULL;
DWORD dw = ErrorCode;
result = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)&lpMsgBuf, 0, NULL);
if (result <= ArrayLength)
{
wsprintf(szBuf, (LPWSTR)lpMsgBuf);
}
else
{
result = (DWORD)-1; // ErrCode
}
LocalFree(lpMsgBuf);
return result;
}
int main(int argc, char* argv[])
{
TCHAR szBuf[80];
ZeroMemory(szBuf, sizeof(szBuf));
if (SysErrorMessage(5, szBuf, sizeof(szBuf) / 2))
{
wprintf(L"%s", szBuf);
}
return 0;
}
z.B. so
Stefan "Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!
Hey, it compiles! Ship it!
|
|
Zitat
|