Skip to content

Instantly share code, notes, and snippets.

@castaneai
Last active December 20, 2015 07:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save castaneai/6095189 to your computer and use it in GitHub Desktop.
Save castaneai/6095189 to your computer and use it in GitHub Desktop.
[c++][winsock]sockaddr構造体から"127.0.0.1"のようなIPv4文字列を取り出す例
#pragma comment(lib, "ws2_32.lib")
/*
Windows.hをインクルードする場合は
#define WIN32_LEAN_AND_MEAN
を入れることで、Windows.hとWinsock2.hの定義衝突を回避できる
*/
#include <Winsock2.h>
/*
返り値のconst char*はどこに確保されているのか、それは
winsockの内部である。よって複数回inet_ntoaを呼び出すと確保されたconst char*領域は
最後に呼び出したときの結果で上書きされている。
http://www.geekpage.jp/programming/winsock/tips-inet_ntoa.php
*/
const char* get_ipv4_address_text(const sockaddr* address) {
return inet_ntoa(reinterpret_cast<const sockaddr_in*>(toAddress)->sin_addr);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment