1. 程式人生 > >c++實現字串strcat()連線

c++實現字串strcat()連線

//字串連線函式
#include<iostream>
#include<string>
using namespace std;

char *string_cat(char *source,int s1,const char *dest)
{
	int i,j;    
	i=s1;
	for(j=0;dest[j]!=0;j++,i++)  //從陣列s1的位置處開始加入新的字元  
    {    
        source[i]=dest[j];    
	}  
	return source;
}
int main()
{
	int sum;
	char a[30]="I Love ";
	char *b="C++";
	
	//for(int i=0;a[i]!='\0';i++) //計算a陣列的字元數
	//{
	//    sum=i+1;
	//}
	
	
         sum=strlen(a);//計算a陣列的字元數

	string_cat(a,sum,b);  
         cout<<a<<endl;  
	system("pause");
	return 0;
}

此程式還可以只需要兩個陣列引數,不需要傳遞a陣列的字元數,b也可以是陣列:

//字串連線函式
//少使用了一個引數
#include<iostream>
#include<string>
using namespace std;

char *string_cat(char *source,const char *dest)
{
	int i,j;    
	int n1=strlen(source);
	i=n1;
	//cout<<n1<<endl;
	for(j=0;dest[j]!=0;j++,i++)  //從陣列s1的位置處開始加入新的字元  
    {    
        source[i]=dest[j];    
	}  
	return source;
}
int main()
{
	int sum;
	char a[30]="I Love ";
	char b[]="C++";
	
	//for(int i=0;a[i]!='\0';i++) //計算a陣列的字元數
	//{
	//    sum=i+1;
	//}
	
	
    //sum=strlen(a);//計算a陣列的字元數

	string_cat(a,b);  
    cout<<a<<endl;  
	system("pause");
	return 0;
}