I'm porting some sockets code from Linux to Windows.
In Linux, I could use strerror()
to convert an errno code into a human-readable string.
MSDN documentation shows equivalent strings for each error code returned from WSAGetLastError()
, but I don't see anything about how to retrieve those strings. Will strerror()
work here too?
How can I retrieve human-readable error strings from Winsock?
wchar_t *s = NULL;
FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, WSAGetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPWSTR)&s, 0, NULL);
fprintf(stderr, "%S\n", s);
LocalFree(s);