❶ 誰能告訴我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;
}