我有一个能够转换为 uint64_t 的二进制文件。它很大,所以我真的需要一个 uint64_t。我无法将其转换为 char 数组。我可以在一个独立的项目中做到这一点,但不能在 Arduino
我遇到的一些障碍:
- 我不能使用 sprintf (“%llu”) :它给我的结果是 0 并且进一步的谷歌搜索表明它没有真正实现
- 我不能使用 itoa :是的,itoa 正在为较小的数字工作,但我正在处理一个 uint64_t ,它似乎达到了它的极限并给了我一个否定的结果
- 我不能使用 String(123456789) :我可以将它用于其他类型,如 int 和 long,但我不能传入 uint64_t,因为参数不支持它
- 我不能使用 long long :搜索它只会给我一个 uint64_t 的变体(例如,使用 sprintf)
- 我在 Visual Studio 中使用 VC 包含时遇到问题:当我转到我的 项目属性 > 配置属性 > C/C++ > 常规 > 附加包含目录 并添加路径 “C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\“ Visual Studio 将其删除。
非常感谢任何输入。
原文由 John 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于那些有同样问题的人:我做了一个解决方法,我只是一个一个地遍历数字并将它们变成一个字符。这对我有帮助: 如何遍历 C 中 3 位数字中的每个数字?