我知道在 C# 中你可以使用 String.Format 方法。但是你如何在 C++ 中做到这一点?是否有允许我将字节转换为十六进制的功能?只需要将 8 字节长的数据转换为十六进制,我该怎么做?
原文由 Danny 发布,翻译遵循 CC BY-SA 4.0 许可协议
我知道在 C# 中你可以使用 String.Format 方法。但是你如何在 C++ 中做到这一点?是否有允许我将字节转换为十六进制的功能?只需要将 8 字节长的数据转换为十六进制,我该怎么做?
原文由 Danny 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 C++20 std::format
这类似于 C# 中的 String.Format
:
std::string s = std::format("{:x}", std::byte(42)); // s == 2a
在 std::format
广泛可用之前,您可以使用 {fmt} 库, std::format
基于( godbolt ):
std::string s = fmt::format("{:x}", std::byte(42)); // s == 2a
免责声明:我是 {fmt} 和 C++20 std::format
的作者。
原文由 vitaut 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答825 阅读
1 回答898 阅读
1 回答928 阅读
1 回答697 阅读
1 回答802 阅读
好吧,您可以一次将一个字节(无符号字符)转换为这样的数组