---
name: "qhostaddress"
section: "3qt"
platform: "linux"
package: "qt3-doc"
version: "3:3.3.8b-7"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/qhostaddress"
---

# qhostaddress(3qt)

IP address

## NAME

QHostAddress - IP address

## SYNOPSIS

`#include <qhostaddress.h>`

### Public Members

**QHostAddress ()**\
 **QHostAddress ( Q\_UINT32 ip4Addr )**\
 **QHostAddress ( Q\_UINT8 \* ip6Addr )**\
 **QHostAddress ( const Q\_IPV6ADDR & ip6Addr )**\
 **QHostAddress ( const QHostAddress & address )**\
 **virtual ~QHostAddress ()**\
 **QHostAddress & operator= ( const QHostAddress & address )**\
 **void setAddress ( Q\_UINT32 ip4Addr )**\
 **void setAddress ( Q\_UINT8 \* ip6Addr )**\
 **bool setAddress ( const QString & address )**\
 **bool isIp4Addr () const  *(obsolete)***\
 **Q\_UINT32 ip4Addr () const  *(obsolete)***\
 **bool isIPv4Address () const**\
 **Q\_UINT32 toIPv4Address () const**\
 **bool isIPv6Address () const**\
 **Q\_IPV6ADDR toIPv6Address () const**\
 **QString toString () const**\
 **bool operator== ( const QHostAddress & other ) const**\
 **bool isNull () const**\

## DESCRIPTION

The QHostAddress class provides an IP address.

This class contains an IP address in a platform and protocol independent manner. It stores both IPv4 and IPv6 addresses in a way that you can easily access on any platform.

QHostAddress is normally used with the classes QSocket, QServerSocket and QSocketDevice to set up a server or to connect to a host.

Host addresses may be set with setAddress() and retrieved with ip4Addr() or toString().

See also QSocket, QServerSocket, QSocketDevice, and Input/Output and Networking.

## MEMBER FUNCTION DOCUMENTATION

## QHostAddress::QHostAddress ()

Creates a host address object with the IP address 0.0.0.0.

## QHostAddress::QHostAddress ( Q\_UINT32 ip4Addr )

Creates a host address object for the IPv4 address *ip4Addr*.

## QHostAddress::QHostAddress ( Q\_UINT8 \* ip6Addr )

Creates a host address object with the specified IPv6 address.

*ip6Addr* must be a 16 byte array in network byte order (high-order byte first).

## QHostAddress::QHostAddress ( const Q\_IPV6ADDR & ip6Addr )

Creates a host address object with the IPv6 address, *ip6Addr*.

## QHostAddress::QHostAddress ( const QHostAddress & address )

Creates a copy of *address*.

## QHostAddress::~QHostAddress ()` [virtual]`

Destroys the host address object.

## Q\_UINT32 QHostAddress::ip4Addr () const

**This function is obsolete.** It is provided to keep old source working. We strongly advise against using it in new code.

Use toIPv4Address() instead.

## bool QHostAddress::isIPv4Address () const

Returns TRUE if the host address represents an IPv4 address; otherwise returns FALSE.

## bool QHostAddress::isIPv6Address () const

Returns TRUE if the host address represents an IPv6 address; otherwise returns FALSE.

## bool QHostAddress::isIp4Addr () const

**This function is obsolete.** It is provided to keep old source working. We strongly advise against using it in new code.

Use isIPv4Address() instead.

## bool QHostAddress::isNull () const

Returns TRUE if this host address is null (INADDR\_ANY or in6addr\_any). The default constructor creates a null address, and that address isn't valid for any particular host or interface.

## QHostAddress & QHostAddress::operator= ( const QHostAddress & address )

Assigns another host address object *address* to this object and returns a reference to this object.

## bool QHostAddress::operator== ( const QHostAddress & other ) const

Returns TRUE if this host address is the same as *other*; otherwise returns FALSE.

## void QHostAddress::setAddress ( Q\_UINT32 ip4Addr )

Set the IPv4 address specified by *ip4Addr*.

## void QHostAddress::setAddress ( Q\_UINT8 \* ip6Addr )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Set the IPv6 address specified by *ip6Addr*.

*ip6Addr* must be a 16 byte array in network byte order (high-order byte first).

## bool QHostAddress::setAddress ( const QString & address )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Sets the IPv4 or IPv6 address specified by the string representation *address* (e.g. "127.0.0.1"). Returns TRUE and sets the address if the address was successfully parsed; otherwise returns FALSE and leaves the address unchanged.

## Q\_UINT32 QHostAddress::toIPv4Address () const

Returns the IPv4 address as a number.

For example, if the address is 127.0.0.1, the returned value is 2130706433 (i.e. 0x7f000001).

This value is only valid when isIp4Addr() returns TRUE.

See also toString().

## Q\_IPV6ADDR QHostAddress::toIPv6Address () const

Returns the IPv6 address as a Q\_IPV6ADDR structure. The structure consists of 16 unsigned characters.

```
        Q_IPV6ADDR addr = hostAddr.ip6Addr();
        // addr.c[] contains 16 unsigned characters
        for (int i = 0; i < 16; ++i) {
            // process addr.c[i]
        }
```

This value is only valid when isIPv6Address() returns TRUE.

See also toString().

## QString QHostAddress::toString () const

Returns the address as a string.

For example, if the address is the IPv4 address 127.0.0.1, the returned string is "127.0.0.1".

See also ip4Addr().

## SEE ALSO

**http://doc.trolltech.com/qhostaddress.html** **http://www.trolltech.com/faq/tech.html**

## COPYRIGHT

Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com.  See the license file included in the distribution for a complete license statement.

## AUTHOR

Generated automatically from the source code.

## BUGS

If you find a bug in Qt, please report it as described in **http://doc.trolltech.com/bughowto.html**. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to **qt-bugs@trolltech.com**. Please include the name of the manual page (qhostaddress.3qt) and the Qt version (3.3.8).
