Export (0) Print
Expand All
1 out of 2 rated this helpful - Rate this topic

inet_addr

Windows Mobile 6.5
A version of this page is also available for
4/8/2010

This function converts a string containing an (Ipv4) Internet Protocol dotted address into a proper address for the in_addr structure.


unsigned long inet_addr(
  const char FAR* cp
);
cp

[in] Null-terminated character string representing a number expressed in the Internet standard "." (dotted) notation.

If no error occurs, this function returns an unsigned long value containing a suitable binary representation of the Internet address given. If the string in the cp parameter does not contain a legitimate Internet address, for example if a portion of an a.b.c.d address exceeds 255, then inet_addr returns the value INADDR_NONE.

This function interprets the character string specified by the cp parameter. This string represents a numeric Internet address expressed in the Internet standard "." notation. The value returned is a number suitable for use as an Internet address. All Internet addresses are returned in IP network order (bytes ordered from left to right). If you pass in " " (a space) or "" (NULL) to the inet_addr function, inet_addr returns zero.

The following list show the forms that values specified using the period (.) take:

  • a.b.c.d
  • a.b.c
  • a.b
  • a

When four parts are specified, each is interpreted as a byte of data and assigned, from left to right, to the 4 bytes of an Internet address. When an Internet address is viewed as a 32-bit integer quantity on the Intel architecture, the bytes referred to above appear as d.c.b.a. That is, the bytes on an Intel processor are ordered from right to left.

The parts that make up an address in "." notation can be decimal, octal, or hexadecimal as specified in the C language. Numbers that start with "0x" or "0X" imply hexadecimal. Numbers that start with "0" imply octal. All other numbers are interpreted as decimal.

Value Description

"4.3.2.16"

Decimal

"004.003.002.020"

Octal

"0x4.0x3.0x2.0x10"

Hexadecimal

"4.003.002.0x10"

Mix

Aa923634.note(en-us,MSDN.10).gifNote:
The following notations are only used by Berkeley, and nowhere else on the Internet. For compatibility with their software, they are supported as specified.

When a three-part address is specified, the last part is interpreted as a 16-bit quantity and placed in the right-most 2 bytes of the network address. This makes the three-part address format convenient for specifying Class B network addresses as 128.net.host.

When a two-part address is specified, the last part is interpreted as a 24-bit quantity and placed in the right-most 3 bytes of the network address. This makes the two-part address format convenient for specifying Class A network addresses as "net.host".

When only one part is given, the value is stored directly in the network address without any byte rearrangement.

Headerwinsock2.h
LibraryWs2.lib
Windows Embedded CEWindows CE 1.0 and later
Windows MobileWindows Mobile Version 5.0 and later
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.