So rufen Sie Textfehlermeldungen von Fehlercodes in der Windows-API ab
In der Windows-API gibt die Funktion GetLastError() einen ganzzahligen Fehler zurück Code, der das Ergebnis eines Systemaufrufs angibt. Um eine für Menschen lesbare Fehlermeldung entsprechend diesem Code zu erhalten, können wir die folgenden Techniken anwenden:
Methode 1: Verwendung der Funktion FormatMessage()
Die FormatMessage( )-Funktion bietet eine bequeme Möglichkeit, Fehlercodes in Textnachrichten umzuwandeln. Es benötigt mehrere Parameter:
Beispielcode:
//Returns the last Win32 error, in string format. Returns an empty string if there is no error. std::string GetLastErrorAsString() { //Get the error message ID, if any. DWORD errorMessageID = ::GetLastError(); if(errorMessageID == 0) { return std::string(); //No error message has been recorded } LPSTR messageBuffer = nullptr; //Ask Win32 to give us the string version of that message ID. //The parameters we pass in, tell Win32 to create the buffer that holds the message for us (because we don't yet know how long the message string will be). size_t size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); //Copy the error message into a std::string. std::string message(messageBuffer, size); //Free the Win32's string's buffer. LocalFree(messageBuffer); return message; }
Das obige ist der detaillierte Inhalt vonWie übersetze ich Windows-API-Fehlercodes in für Menschen lesbare Textnachrichten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!