字符串拼接:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *str_contact(const char *,const char *);
char *str_contact(const char *str1,const char *str2)
{
char *result = (char*) malloc(strlen(str1) + strlen(str2) + 1);
if(!result)
{
printf("Error: malloc failed in concat! \n");
exit(EXIT_FAILURE);
}
char *temp = result;
while(*str1 != '\0')
{
*result++ = *str1++;
}
while((*result++ = *str2) != '\0')
{
;
}
return temp;
}
int main(void)
{
char *ch1 = "string_";
char * ch2 = "_contact";
char *result = NULL;
result = str_contact(ch1,ch2);
print("result = %s\n",result);
free(result);
result = NULL;
return 0;
}
字符串拷贝:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *strcpy(char *dst,const char *src)
{
assert(*dst != NULL && *src!=NULL);
char *temp = dst;
while(*src!='\0')
{
*dst++ = *src++;
}
*dst = '\0';
return temp;
}
int main(void)
{
char *ch1 = "str_cpy";
char *ch2;
char *result = strcpy(ch2,ch1);
printf("result = %s\n",result);
free(result);
result = NULL;
return 0;
}