回答
,我发现该解决方案是使用的功能:
void * memcpy (void * destination, const void * source, size_t num);
还有一个功能:
void * memset (void * ptr, int value, size_t num);
在我的代码使用memcpy,它工作正常。感谢所有回答我的问题的人
如果您想将源中的单个uint8_t
转换为目标中的单个uint32_t
,那实际上非常简单。只需创建目标数组,然后将值复制到一个循环中:
uint8_t *source;
size_t source_count; /* Number of entries in the source */
uint32_t *dest = malloc(sizeof(*dest) * source_count);
for (int i = 0; i < source_count; i++)
dest[i] = source[i];
非常感谢。这很简单:) –
您的标题提到了字符串,但您的问题文本没有。这很混乱。
如果你有4个8位整数,你可以将它们合并成一个单一的32位像这样:
const uint8_t a = 1, b = 2, c = 3, d = 4;
const uint32_t big = (a << 24) | (b << 16) | (c << 8) | d;
此预定他们像这样,其中字母表示从上面的变量位:
0xaabbccdd
换句话说,a
被认为是最重要的字节,并且d
最少。
如果你有一个数组,你当然可以这样做在一个循环:
uint32_t bytes_to_word(const uint8_t *bytes)
{
size_t i;
uint32_t out = 0;
for(i = 0; i < 4; ++i)
{
out <<= 8;
out |= bytes[i];
}
return out;
}
上述假设bytes
有四个值。
感谢您的解释。我用了一个很好的词来解释我的需要。这可以帮助我很多。非常感谢您 –
@NounouNou如果这有帮助,请投票和/或接受。 – unwind
- 1. 转:将字符串数组转换为Json数组字符串
- 2. 将字符串数组转换为字符串数组
- 3. 注意:数组到字符串转换将数组转换为字符串
- 4. 将json转换为数组php将数组转换为字符串转换
- 5. 将字符串转换为int数组
- 6. MongoDB将字符串转换为数组
- 7. 将PHP字符串转换为数组
- 8. 将javascript字符串转换为数组
- 9. 将字符串转换为json数组
- 10. 将数组转换为字符串Javascript
- 11. 将字符串转换为数组(android)
- 12. 将数组值转换为字符串
- 13. PHP将字符串转换为数组
- 14. 将Python数组转换为字符串
- 15. 将int转换为字符串数组
- 16. 将JSONArray转换为字符串数组
- 17. PHP:将数组转换为字符串?
- 18. JS将字符串转换为数组
- 19. 将字符串数组转换为ImageButton
- 20. 将字符串转换为数组
- 21. 将Dictionary.keyscollection转换为字符串数组
- 22. 将数组转换为字符串
- 23. 将php字符串转换为数组
- 24. 将array.description字符串转换为数组
- 25. 将字符串转换为int数组
- 26. 将字符串数组转换为java.util.List
- 27. 将字符串转换为位数组
- 28. 将字符串转换为2d数组
- 29. 将Java字符串转换为数组
- 30. 将数组值转换为字符串
我对NesC一无所知,但是应该将源数组中的每个'uint8_t'都转换为目标中的一个'uint32_t'吗?还是应该将源代码中的四个'uint8_t'合并到目标中的单个'uint32_t'? –
是的,这是主意。就像在C中一样,我想将整数数组转换为一个整数。 –
那么,呃,你怎么评论说,当Joachim和我的答案都有帮助时,他们做了*不同的事情*?混乱。 – unwind