linux下
函式声明char inet_ntoa(struct in_addr in);
将一个32位网路位元组序的二进制IP位址转换成相应的点分十进制的IP位址(返回点分十进制的字元串在静态记忆体中的指针)。
所在头档案<arpa/inet.h>
//end linux 下
基本介绍
- 中文名inet_ntoa()函式
- 别称IP位址转换函式
- 表达式char inet_ntoa (struct in_addr);
- 套用学科计算机编程
- 适用领域範围网路
- 功能网路位元组序IP转化点分十进制IP
简介
函式功能将网路地址转换成“.”点隔的字元串格式。
所需库 winsock.h
也可以使用
头档案 | Winsock2.h |
lib | Ws2_32.lib |
dll | Ws2_32.dll |
即在程式开头写
#include <WINSOCK2.h>
#pragma comment(lib,"WS2_32.LIB")
函式原型 char FAR PASCAL FAR inet_ntoa( struct in_addr in);
MSDN上本函式的原型描述为unsigned long inet_addr( __in const char cp);
in一个表示Internet主机地址的结构。
注释
本函式将一个用in参数所表示的Internet地址结构转换成以“.” 间隔的诸如“a.b.c.d”的字元串形式。请注意inet_ntoa()返回的字元串存放在WINDOWS套接口实现所分配的记忆体中。应用程式不应假设该记忆体是如何分配的。在同一个执行绪的下一个WINDOWS套接口调用前,数据将保证是有效。
返回值
若无错误发生,inet_ntoa()返回一个字元指针。否则的话,返回NULL。其中的数据应在下一个WINDOWS套接口调用前複製出来。
相关函式inet_addr().
程式示例
程式示例1
下面这个例子来自MSDN
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#pragma comment(lib, "wininet.lib")
// link with Ws2_32.lib
int __cdecl main(int argc, char argv)
{
//-----------------------------------------
// Declare and initialize variables
WSADATA wsaData;
int iResult;
unsigned long ulAddr = INADDR_NONE;