A_OSWindowsAPI 2023-10-27 Source Edit History 【winapi】FormatMessageA 文章目录 概述:获取错误码对应的描述 1234567891011121314151617181920212223242526272829string get_sys_error_msg(unsigned long err){ char _inner_msg[10240] = { 0 }; memset(_inner_msg, 0, sizeof(_inner_msg)); if (err == 0) err = GetLastError(); LPSTR buf = NULL; if (::FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (LPSTR)&buf, 0, NULL)) { sprintf_s(_inner_msg, sizeof(_inner_msg),"[%d]%s", err, buf); ::LocalFree(buf); } else { snprintf(_inner_msg, sizeof(_inner_msg), " [0x%x]Unknown error", err); } string str_error_msg(_inner_msg); return str_error_msg;}