c++ 连接两个字符串实现代码 实现类似strcat功能(转)
想实现strcat功能,直接网上找一个。
第一种:
#include "stdafx.h" #include<iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char s1[60]="kingbaby"; char *s2="hello"; int i=0;int j=0; while(s1[i]!='\0')i++; while((s1[i]=s2[j])!='\0'){ j++;i++; } cout<<s1<<endl; return 0; }
第二种:
#include "stdafx.h" #include<iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char a[20] ="aaaa"; char b[10]="bbb"; char *stra=a; char *strb=b; while(*stra!='\0')stra++; while(*strb!='\0') { *stra=*strb;//同时移动指针 strb++; stra++; } return 0; }
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> char* chargame(char* name) { char a[20] ="aaaa"; char b[10]="bbb"; char *stra=name; char *strb=b; while(*stra!='\0') { stra++; } while(*strb!='\0') { *stra=*strb;//同时移动指针 strb++; stra++; } // 指针移动最后,如果获取呢? ,使用没有移动指针的地址,就可以得出结果 return name; } int _tmain(int argc, _TCHAR* argv[]) { char name[20] = "xxxxx"; char* xxx = chargame(name); cout<<xxx<<endl; return 0; }