C++: gethostname() failing
C++: gethostname() failing
我需要获得我使用gethostname函数的系统主机名
错误码10093错误码
下面是我的程序代码:WSANOTINITIALISED10093
尚未执行成功的wsstartup。应用程序有未调用WSAStartup或WSAStartup失败。申请可以是访问当前活动任务不拥有的套接字(即,尝试在任务之间共享套接字),或者调用了WSACleanup太多次了。
#include <Winsock2.h>
#include <ws2tcpip.h>
#include <Windows.h>
#pragma comment(lib, "Ws2_32.lib")
int main()
{
char hostname[1024];
hostname[1023] = ' ';
gethostname(hostname, 1023);
int err = WSAGetLastError();
}
是什么导致了这个失败?
编辑
在调用gethostname函数之前添加下面的代码解决了这个问题。
if (WSAStartup (MAKEWORD(2,2), &WSAData) != 0)
{
MessageBox (NULL, TEXT("WSAStartup failed!"), TEXT("Error"), MB_OK);
return FALSE;
}
这是写在你发布的链接:
使用此函数之前,必须先成功调用
WSAStartup
。
呼叫WSAStartup
,检查其返回码,如果一切正常,呼叫gethostname
错误信息说明了一切。您需要在gethostname
之前调用WSAStartup
: http://msdn.microsoft.com/en-gb/library/windows/desktop/ms742213(v=vs.85).aspx
读取错误信息:应用程序未调用WSAStartup
相关文章:
- CreateDepthStencilView() is failing
- 如何在VS 2017 C++Win32应用程序中打印出gethostname结果
- GethostName()给出退出状态-1如何处理
- CGAL static_cast failing
- Qt C++ Modulo Operator Failing
- I_CHILDRENCALLBACK 64bit failing
- C++ GetBinaryType Failing
- IDWriteFactory::CreateTextFormat() failing
- fopen() failing
- C++ Minmax Failing
- IE9 GetPropertyByName failing
- C++: gethostname() failing
- gethostname() in windows
- Qt QMap.insert() failing
- wxSocket wxWidgets failing
- WaitForMultipleObjects failing c++
- CreateWindowEx failing