我会很感激他能帮助我的人。请注意,我使用visual studio 2010在CLR(公共语言运行时)中进行编程。我已将字符分配给具有动态内存分配的字符串。现在我想将它复制到另一个静态字符串中。但是当我在复制之后打印静态文件时,它正在用一些垃圾字符复制主要字符串。我需要删除垃圾字符。请帮帮我。将动态分配的char *字符串复制到新的char *字符串中
int i;
char *encode_data,*copy_data;
encode_data=(char*)malloc(5*sizeof(char));
for(i=0;i<5;i++)
{
*(encode_data+i)='a';
}
copy_data=encode_data;
printf("\nEncode Data= ");
for(i=0;i<5;i++)
{
printf("%c",*(encode_data+i));
}
printf("\nCopy Data= %s",copy_data);
free(encode_data);
但输出打印一些'2'作为权力。我只需要将字符串copy_data作为字符串输入到encode_data中。谢谢。
由于打印好,但另一种运行时发生错误后的正常块#60检测到堆损坏。好的,现在你可以宣布它为6个字符。谢谢。 @haccks – 2014-09-10 12:26:22