gpt4 book ai didi

在 C 预处理器中转换十六进制字符串中的数字列表

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:58 25 4
gpt4 key购买 nike

如何将 16 位数字列表转换为十六进制字符串,如 "\x0f\x56\x44\xe0" .

这些 16 位值看起来如何?它们也是宏观扩张的结果#define make_word(arg1, arg2) arg1 << 16 + arg2 .所以完整的调用应该是这样的:
some_function(MAKE_HEX_STR(make_word(1, 2), make_word(3, 4), make_word(5, 6));
并且应该扩展到:
some_function("\x01\x02\x03\x04\x05\x06);

最佳答案

我不知道你的问题背后的任务是什么,但以下内容可能会有所帮助(需要 C99 或更新版本):

#define MAKE_WORD(x,y) x,y
#define MAKE_STR(...) ((char[]){__VA_ARGS__, 0})

查看live on ideone .如果你真的不需要它是一个字符串,你可以省略 0 终止符。

关于在 C 预处理器中转换十六进制字符串中的数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32755849/

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