C/C++ strcat 函数实现
int main(int argc,char* argv[]){if(argc <=2)return -1;char *str;//从command line 得到两个字符串。str = strcat(argv[1],argv[2]);//很奇怪,如果这里换成 str = strcat(*++argv,*++argv)结果会是反的。 printf("%s",str); free(str);return 0;}//关键是找到第一个字符串的结束位置,然后复制另一个string。char* strcat(char *s,char *t){char *str;str = (char*)malloc(strlen(s)+strlen(t)+1);strcpy(str,s); //复制第一个字符串strcpy((str+strlen(str)-1),t);/*从一个string结束位置开始,去 掉'\0',开始复制下一个string。 while((*str++)!='\0'); 不可以用这样的方法来找到第一个string的结束位置。 这样只会得到第二个string。*/return str;}int strlen(char *str){char * s;s = str;while(*s++ != '\0');return s-str;}void strcpy(char *s,char *t){while(*s++ = *t++);}