【发布时间】:2011-08-14 07:24:39
【问题描述】:
我正在尝试将两个整数和一个字符串复制到缓冲区并打印出缓冲区元素。第三个 printf 语句出现段错误:
id = 102;
len = 3;
str = "working";
memmove(buffer,&message_id,sizeof(id));
memmove(buffer+(sizeof(id)),&len,sizeof(len));
memmove(buffer+(2*sizeof(id)),&string, sizeof(str));
printf("1 is: %d\n", buffer[0]);
printf("2 is: %d\n", buffer[4]);
printf("3 is %s\n, buffer[8])); // here is where i get the seg fault should
be a string
/***/
bufer is declared as unsinged char buffer[444];
我不知道为什么会出现段错误?
【问题讨论】:
-
什么是缓冲区,两个“f”声明为 -- 你说缓冲区是无符号字符[444]
-
string和str是如何声明的?
标签: c segmentation-fault buffer memmove