读书人

向malloc分配的内存中存储数据有关问题

发布时间: 2012-04-05 12:42:39 作者: rapoo

向malloc分配的内存中存储数据问题
我用malloc分配了一段内存,现在要将收到的数据先存在这个内存中(一批一批的),用什么函数存储啊?我一开始用的是strcat,有错误,说指令所指的内存不能为written,请问这个怎么写啊?

[解决办法]
buf[];
char *p;
p = buf;
while()
{
strcpy(p,data);
p += strlen(data);
}
[解决办法]
我用malloc分配了一段内存,现在要将收到的数据先存在这个内存中(一批一批的),用什么函数存储啊?我一开始用的是strcat,有错误,说指令所指的内存不能为written,请问这个怎么写啊?

strcat函数??
字符串是以0(不是字符‘0’)作为结束符的,strcat是在这个0的位置往后加字符串的。
malloc分配的内存中的数据的值是随机的,可能有0,可能没有0,strcat函数会先遍历这个空间的数据,由于一直没有找到结束符0 ,不知不觉就超出这个空间的范围了,跑到别的内存空间去找了,这就产生了“指令所指的内存不能为written”这个错误。

读书人网 >C语言

热点推荐