Moze i ovako
Code:
#include <iostream>
using namespace std;
char* AddString (char* ,char* ,int );
int main()
{
char* prvi="Prvi";char* drugi="Drugi";int start=3;
cout << prvi << endl;cout << drugi << endl;cout << start << endl;
char* strRet=AddString(prvi,drugi,start);
cout << strRet << endl;
return 0;
}
/***************************************************
* Ova fn spaje 2 stringa i vraca novi string
* treci parametar je broj znakova koji ce se sacuvati iz prvog stringa
****************************************************/
char* AddString (char* strFirst,char* strSecond,int ch)
{
if (ch<1) return 0;
int ln1=0,ln2=0,cnt=0;
while(strFirst[ln1]!=0)
ln1++; //duzina pvog
while(strSecond[ln2]!=0)
ln2++; //duzina drugog
if (ln1 < ch)
return 0; //ako je duzina prvog manja od treceg parametra
char* ret=new char[ch+ln2+1];
while(cnt<ch+ln2)
{
if (cnt<ch)
ret[cnt]=strFirst[cnt]; //ako je manja od ch prepisujemo iz prvog
else
ret[cnt]=strSecond[cnt-ch]; //ako nije iz drugog
cnt++;
}
return ret;
}