如何将sin_addr.S_un转换为char *?

时间:2011-04-04 19:08:26

标签: c++ mfc

我需要在向我发送内容后从发件人处获取IP地址。我正在使用UDP套接字,因此我使用sin_addr函数时,发件人的IP地址将自动注册到recvfrom()结构中。

如何操纵sin_addr结构并将其转换为char *

谢谢。

1 个答案:

答案 0 :(得分:3)

inet_ntoa

struct sockaddr_in in_sa; 
char* ip_addr_text = inet_ntoa( in_sa.sin_addr );

如果你想保留它供以后使用,你应该复制一份,例如:

std::string ip_txt( inet_ntoa( in_sa.sin_addr ) );
// other stuff
std::cout << ip_txt << std::endl;