【发布时间】:2015-03-20 17:16:29
【问题描述】:
我有这段代码将数组src 子串成4 个字符,并将每个子串保存到char dest[5]; 数组中。它工作正常。现在,我想将每 4 个字符存储为另一种格式 - unsigned int- %u 在另一个数组 unsigned long k[4] ;
我一直在尝试使用 sprintf() 将格式化的输入存储在 k 中,但它没有给我数组 dest 中每个元素的转换。
所以,我可以有 k[0] = dest[0]、k[1]= dest[1] 等等!
unsigned int k [4];
char dest[5] ; // 4 chars + terminator */
char src [] = "123456789abcdefg"
int len = strlen(src);
int b = 0;
int bb=1;
while (b*4 < len) {
strncpy(dest, src+(b*4), 4);
printf("loop %s\n",dest);
sprintf(&k, "%u",dest);
puts(k);
b++;
}
我刚刚得到了解决方案,
unsigned long *k = (unsigned long *) dest;
无论如何,谢谢你们!!
【问题讨论】:
-
我认为嵌套循环可以帮助 (i=0;i