c++ - 如何在 C++ 中将 uint64_t 连接到 unsigned char*?
问题描述
我想将 a 连接uint64_t
到unsigned char*
. 我不能使用sprintf()
,strcpy()
和strcat()
因为它们只接受char*
作为参数。
#include <cstdint>
// I want to concatenate these two:
unsigned char data[8] = "tJQVfvcj";
uint64_t num = 1732462110473334785;
输出应等于:
unsigned char concat[28] = "tJQVfvcj1732462110473334785";
效率也很重要,尽管它是第二要务。我非常感谢任何建议。
编辑:我像这样使用 sprintf() :
unsigned char data[9] = "tJQVfvcj";
uint64_t num = 1732462110473334785;
unsigned char concat[28];
sprintf(concat, "%s%" PRId64 "", data, num);
但是,它会导致此错误:
错误:从 'unsigned char*' 到 'char*' 的无效转换 [-fpermissive]
解决方案
推荐阅读
- c# - WPF Binding 自定义列表索引器
- javascript - 动态更改数组的特定值
- stm32 - 目标/stm32f1x.cfg:74:错误:目标需要 -dap 参数而不是 -chain-position!开放式强迫症
- python - tensorflowjs_converter WIN[126] 找不到指定的模块
- reactjs - 陈旧的道具/没有重新渲染作为道具传递的孩子
- flutter - 颤振中的多个孩子
- powershell - 在 Powershell 中将 JSON-String 转换为正确的对象
- r - 将数据帧与包含在单独数据帧中的字符串中的键值合并
- graph - Marginsplot 如何从图中删除某些数据
- apache - apache httpd log:过滤掉包含字符串的行