长长转换为字节数组
long long conversion into byte array
我正在尝试将任何数据类型(实际上很长)放入字节/字符数组中并再次读出...但是出于任何原因,它适用于整数,但不适用于长整型?结果:值:15通道:4
int main(){
int chan=4;
char buffer1 [20];
long long time=20203023;
memcpy(buffer1, &time, sizeof(time));
printf("value: %lldn", buffer1[0]);
memcpy(&buffer1[8], &chan, sizeof(chan));
printf("channel: %d ", *(&buffer1[8]));
return 0;
}
溶液:
普林德夫是这里的坏人...我将数组的内容复制回长长,现在值解释得很好
int main() {
int chan = 22;
char buffer1[20];
long long times = 20203023;
long long time_new = 0;
memcpy(buffer1, ×, sizeof(times));
memcpy(&time_new, buffer1, sizeof(times));
printf("value: %lldn", time_new);
return 0;
}
结果:值:20203023
谢谢!!!
程序行为未定义。printf
格式说明符必须与传入的类型匹配。 buffer1[0]
是char
类型,%lld
是用于long long
的。
不过,您的memcpy
方法很好。 buffer1
作为一个数组,将占用连续的内存,因此可以很好地接收与time
或chan
相关联的内存的副本。
相关文章:
- 输出没有重复元素的动态数组(收缩数组)C++
- 将字符串转换为无符号字符数组/字节数组
- 检查彩虹数组(检查数组的反向样式是否与自身匹配)
- 如何创建对齐的数组 c++ 数组?
- 查找数组中数组元素的重复出现?
- C++释放带有子数组的数组的内存分配
- 返回一个数组,该数组包含数组中的数量,该数组数量较小或等于给定数组中的元素
- 通过键盘输入字符串数组和 int 数组的数组大小
- 如何在C 中创建类似于Python的Numpy数组的数组
- 无法获取数组内数组的总和
- C4838 警告,包含常量字符* 数组的数组初始化
- 连接数组,数组 1 内存消失C++
- 如何在C++中创建二维数组的数组
- 获取字符数组C++数
- 2D数组中数组下标的类型"int[int]"无效
- C 模板类动态数组的数组到数组
- 结构数组的数组
- 如何制作具有动态大小的数组?动态数组的一般用法(可能还有指针)
- 对象的数组-STD ::数组 - 构造函数初始化问题
- 使用SSE内部函数将布尔数组(8字节布尔)转换为int或char