❶ 谁能告诉我VC中GETHOSTNAME()具体用法
gethostname()
简述:
返回本地主机的标准主机名。
#include <winsock.h>
int PASCAL FAR gethostname(char FAR *name, int namelen);
name: 一个指向将要存放主机名的缓冲区指针。
namelen:缓冲区的长度。
注释:
该函数把本地主机名存放入由name参数指定的缓冲区中。返回的主机名是一个以NULL结束的字符串。主机名的形式取决于Windows Sockets实现-它可能是一个简单的主机名,或者是一个域名。然而,返回的名字必定可以在gethostbyname()和WSAAsyncGetHostByName()中使用。
返回值:
如果没有错误发生,gethostname()返回0。否则它返回SOCKET_ERROR。应用程序可以通过WSAGetLastError()来得到一个特定的错误代码。
错误代码:
WSAEFAULT 名字长度参数太小。
WSANOTINTIALISED 在应用这个API前,必须成功地调用WSAStartup()。
WSAENTDOWN Windows Sockets实现检测到了网络子系统的错误。
WSAEINPROGRESS 一个阻塞的Windows Sockets操作正在进行。
参见:gethostbyname(), WSAAsyncGetHostByName()
❷ LINUX下如何用gethostname命令
我的系统里根本没这个命令。ubuntu 也不提供这个命令……
你 gethostbyname --help 看看帮助。
另外,我在网上回找到的都是答 gethostbyname() 这个 C 函数的使用方法,而不是命令的使用方法……
❸ c语言调用本机ip地址时如何定义gethostname函数
函数声明为
int PASCAL FAR gethostname(char FAR *name, int namelen);
所以 , 应该是
charname[65];
intret=gethostname(name,sizeof(name));
if(ret==0)printf("nameis%s ",name);
elseprintf("getfailedret=%d ",ret);
❹ gethostname()的介绍
返回本地主机的标准主机名。#include <Winsock2.h>int PASCAL FAR gethostname(char FAR *name, int namelen);name: 一个指向将要存放主机名的缓冲区指针。namelen:缓冲区的长度。
❺ 急求解 使用gethostname() 的方法
char hostname[256];
int iRet = 0;
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,1),&wsaData)) //调用Windows Sockets DLL
{
printf("Winsock无法初始化!\n");
WSACleanup();
return 0;
}
memset(hostname, 0, 256);
iRet = gethostname(hostname, sizeof(hostname));
if(iRet != 0 )
{
printf( "get hostname error:%d\n", iRet);
}
printf("%s\n", hostname);
❻ 关于gethostname
这个是老问题,在debug环境下的字符串和release下有差异的,建议使用宽字符串,WCHAR * 。
❼ C语言gethostname,gethostbyname
#pragma comment(lib,"ws2_32.lib")就是让程序中可以使用这个库的接口。
和编译器里面链接这个库效果一样。
,inet_ntoa(*(struct in_addr *)pHost->h_addr_list[i]));
是把对应的网址,转换成字符串形式,原本是二进制值,转成xxx.xxx.xxx.xxx的形式。
这里就是把所有获取到的网址依次都输出。
❽ 为什么我vc中调用gethostname都返回-1,得到本机的主机名都会失败吗
调用gethostname之前,必须成功调用过 WSAStartup 函数,
是用于网络连接获取主机名
我怀疑你是不是要 使用GetComputerName,来获取本地计算机的名字。
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
char HostName[80];
void main ()
{
memset(HostName,0,sizeof(HostName));
DWORD i= 80;
GetComputerName(HostName,&i);
printf("%s",HostName);
}
❾ c语言中怎样读取当前gethostname值
#include<stdio.h>
#include<unistd.h>
intmain(intargc,char**argv)
{
charhostname[32];
if(gethostname(hostname,sizeof(hostname)))
{
printf("gethostnamecallingerror ");
return-1;
}
printf("localhostname:%s ",hostname);
return0;
}