/************************************************************************/
/* author:jychen */
/* function 字符串拷贝函数 */
/*Version:0.0.1 */
/************************************************************************/
#include "stdio.h"
#include "string.h"
#include "malloc.h"
void main()
{
void StringCopy(const char *strSource, char *strDestination);
char *strSource={"hello world !"};
char *strDestination;
//给strDestination·分配内存空间,否则运行时会有异常发生
strDestination = (char *) malloc (strlen(strSource) + 1);
if (strDestination == NULL)
{
printf("内存分配失败\n");
return ;
}
StringCopy(strSource, strDestination);
printf("%s\n",strDestination);
free(strDestination);
}
void StringCopy(const char *strSource, char *strDestination)
{
int i=0; //地址计数器
while(*(strSource+i)!='\0')
{
//不能写成 strDestination++的形式,因为strDestination是字符串的首地址
*(strDestination+i)=*(strSource+i);
i++;
}
*(strDestination+i)='\0';//给拷贝后的字符串加上结束符
}