我會很感激他能幫助我的人。請注意,我使用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