Windows API의 오류 코드에서 텍스트 오류 메시지를 검색하는 방법
Windows API에서 GetLastError() 함수는 정수 오류를 반환합니다. 시스템 호출의 결과를 나타내는 코드입니다. 이 코드에 해당하는 사람이 읽을 수 있는 오류 메시지를 얻으려면 다음 기술을 사용할 수 있습니다.
방법 1: FormatMessage() 함수 사용
FormatMessage( ) 기능은 오류 코드를 텍스트 메시지로 변환하는 편리한 방법을 제공합니다. 여러 매개변수를 사용합니다.
예제 코드:
//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; }
위 내용은 Windows API 오류 코드를 사람이 읽을 수 있는 텍스트 메시지로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!