gpt4 book ai didi

c++ - 无符号整数到 IP 地址字符串,无需 itoa/to_string/boost

转载 作者:行者123 更新时间:2023-11-30 16:48:23 25 4
gpt4 key购买 nike

正在寻找一种非常快速有效的方法,将无符号 32 位 int 转换为 IP 地址 std::string,无需 itoa 或 to_string 或 boost。我们当前的版本不支持其中任何一个。此外,这将在我们的系统上运行多次,因此它必须很快。

例如,无符号 32 位 int 的每个 8 位段将被转换为八位字节之一,直到 int 的所有 32 位都被转换。正在考虑 printf...有更好的方法吗?

16909060 -> 0x01020304 -> 00000001000000100000001100000100 -> 1.2.3.4

最佳答案

也许你想要:

char buf[16];
snprintf(buf, sizeof buf, "%u.%u.%u.%u",
(x / 0x1000000u) % 0x100,
(x / 0x10000u) % 0x100,
(x / 0x100u) % 0x100,
(x) % 0x100 );

关于c++ - 无符号整数到 IP 地址字符串,无需 itoa/to_string/boost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42966350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com