gpt4 book ai didi

C++:将 unsigned long long int 转换为 vector ,反之亦然

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:48 24 4
gpt4 key购买 nike

谁能告诉我如何将 unsigned long long int 转换为 vector ,反之亦然。

为了将 unsigned long long int 转换为 vector,我尝试了以下操作:

unsigned long long int x;
vector<char> buf(sizeof(x));
memcpy( &buf[0], &x, sizeof( x ) );

当我测试 x = 1234567890 时,它失败了。但是当我尝试使用较小的 x 值(比如 1-100)时,它起作用了……

为了将 vector 转换为 unsigned long long int,我使用了:

   unsigned long long int =  (unsigned long long int)buf[0];

谁能告诉我怎么做。

最佳答案

请记住,复制字节不会跨平台可移植。您的 memcpy 看起来不错,那么为什么不在返回时重新创建它呢?您所写的只是获取 vector 的第一个字节并将其转换为 unsigned long long,这解释了为什么它适用于小数字。

试试这个来从 vector 中取回值:

unsigned long long int x;
memcpy(&x, &buf[0], sizeof(x));

关于C++:将 unsigned long long int 转换为 vector<char> ,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9005676/

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