学了好几天对于指针的使用还是迷迷糊糊的。
问题是这样的:
main()中,定义了一个void*的指针,希望在传递给函数后,能将函数处理的结果从函数中设置的临时数组中输出出来。
funcA();
main()
{
.....
void* data;
funcA(data);
}
funcA(void* data)
{
void* buffer;
while(条件)//此部分是每循环一次buffer中的数据都会被更新,需要及时把buffer中的数据连续的记录到data中。
{
......//经过处理,buffer中存储了一系列的无符号的字符。
//就是这个地方不会,请教高手,怎么把buffer中的内容赋值给data。还能实现循环。
}
}
參考答案:先做个类型转换吧
char *p1 = (char*)buffer;
char *p2 = (char*)data;
方法一:
data[i] = buffer[i]; //i从0到strlen(buffer),i不要越界
方法二:
strcpy(data, buffer, strlen(buffer));
方法三:
memcpy(data, fuffer, 长度);