我不正确地使用在C的格式说明的几行代码:格式说明用于短整型
int main()
{
char dest[]="stack";
unsigned short val = 500;
char c = 'a';
char* final = (char*) malloc(strlen(dest) + 6);
snprintf(final, strlen(dest)+6, "%c%c%hd%c%c%s", c, c, val, c, c, dest);
printf("%s\n", final);
return 0;
}
我想是在
复制最终[0] =一随机炭 最终[1] =随机炭 最终[2]和最终[3] =短阵列 最终[4] =另一炭....
我的问题是,我要复制的short int的两个字节到最后一个数组的2个字节。
谢谢。
我想为一个短整数添加4个字节(4个字符)和2个字符,也就是6个字符 – cateof 2010-06-01 19:31:40
@cateof:但是当您的短整数格式化为字符串时,最多可以使用5个字符(字节)。它在这种情况下使用3(500)。 – 2010-06-01 19:33:06
@cateof您忘记了NULL字符,并且当您将short转换为字符串时,它变为“500”,这是三个字符长,占用三个字节。我相信max short是32767,所以你应该留下5个字节的空间以确保它适合 – 2010-06-01 19:33:34