在C++中把一个存储在字符串中的十六进制的ip值转换为实际的字符串值。

问题描述 投票:-1回答:1

例子:如果IP以十六进制值存储在一个字符串中,它的ascii值将是\n\003c\005,这与十六进制中的0x0A036305或IP格式中的10.3.99.5相同。那么如何将其转换为字符串 "10.3.99.5"?

即 "0x0A036305",我必须从中得到 "10.3.99.5"。

c++ data-conversion
1个回答
0
投票

这,好像,真的很简单。

std::string in = "\n\003c\005";
std::string out = std::to_string((int)in[0]) + "." +
     std::to_string((int)in[1]) + "." +
     std::to_string((int)in[2]) + "." +
     std::to_string((int)in[3]);
© www.soinside.com 2019 - 2024. All rights reserved.