ved*_*eda 4 c++ syntax integer vector long-integer
任何人都可以告诉我如何将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 ) );
Run Code Online (Sandbox Code Playgroud)
当我测试x = 1234567890时,它失败了.但是,当我尝试使用较小的x值(比如1-100)时,它的工作原理......
为了将vector转换为unsigned long long int,我使用了:
unsigned long long int = (unsigned long long int)buf[0];
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我该怎么做.
请记住,复制字节不会跨平台移植.你的memcpy看起来很好,所以为什么不在回来的路上重新创建它?您编写的内容只需要使用向量的第一个字节并将其转换为unsigned long long
可解释为什么它适用于小数字的原因.
尝试这样做,以便从向量中取回值:
unsigned long long int x;
memcpy(&x, &buf[0], sizeof(x));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7451 次 |
最近记录: |