当前位置:首页 > 开发 > 编程语言 > C/C++ > 正文

C/C++ strcat 函数实现

发表于: 2012-04-20   作者:ChuanSu   来源:转载   浏览:
摘要: 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)结果会是反的。


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++);
}

C/C++ strcat 函数实现

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号