gpt4 book ai didi

c++ - 在 C++ 中通过 memcpy 将 int 数组转换为 char 数组并返回

转载 作者:太空狗 更新时间:2023-10-29 20:29:58 27 4
gpt4 key购买 nike

我想将一个 int 数组转换为一个 char 数组,然后再转换回来,以进行序列化。它不需要跨平台工作。

我想到了

  //sample int array 
int arr[] = {1,2,3,4,100};
char char_arr[sizeof(arr)];
//int arr to char arr
memcpy(char_arr, arr, sizeof(arr));

int newarr[sizeof(char_arr)/sizeof(int)];
//char arr back to int arr
memcpy(newarr, char_arr, sizeof(char_arr)/sizeof(int));

但这似乎不起作用(newarr 包含不同于 arr 的值)。有什么建议吗?

最佳答案

memcpy 的第三个参数是字节数*,而不是元素数。所以你的第二个 memcpy 调用不正确。


* 从技术上讲,char 的数量。

关于c++ - 在 C++ 中通过 memcpy 将 int 数组转换为 char 数组并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8444938/

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