این سورس کارایی رشته و اشاره گر ها را در تابع ها را نشان می دهد . این سورس ابتدا دو رشته و دو کاراکتر می گیرد و در تابع هایی جداگانه عملیات های زیر را انجام می دهد . ( بدون تابع های آماده C ) .
1. طول رشته اول
2. کاراکتر اول را در رشته اول جستجو و آن کاراکتر ها را حذف می کند .
3. کاراکتر اول را در رشته اول جستجو و به جای آن کاراکتر دوم را قرار می دهد .
4. رشته اول را به رشته دوم الحاق میکند .
#include "iostream.h"
#include "conio.h"
int len_s1(char *);
void remove_s1_ch1(char *,char,char *);
void swap_s1_ch1_ch2(char *,char ,char ,char *);
void paste_s1_s2(char *,char *);
main(){
char s1[200],s2[200],tmp[200],ch1,ch2;
clrscr();
cout<<"\n enter a string 1 : ";
cin>>s1;
cout<<"\n enter a string 2 : ";
cin>>s2;
cout<<"\n enter a char 1 : ";
cin>>ch1;
cout<<"\n enter a char 2 : ";
cin>>ch2;
cout<<"\n len string 1 = "<<len_s1(s1);
remove_s1_ch1(s1,ch1,tmp);
cout<<"\n\n string1 remove char1 = "<<tmp;
swap_s1_ch1_ch2(s1,ch1,ch2,tmp);
cout<<"\n\n string1 char1 swap char2 = "<<tmp;
int i=0;
while(s1){
tmp=s1;
i++;
}
tmp='\0';
paste_s1_s2(tmp,s2);
cout<<"\n\n string1 paste string2 = "<<tmp;
i=0;
while(s2){
tmp=s2;
i++;
}
tmp='\0';
paste_s1_s2(tmp,s1);
cout<<"\n\n string2 paste string1 = "<<tmp;
}
//**************************************************
int len_s1(char *s1){
int c=0;
while(*s1){
*s1++;
c++;
}
return c;
}
//**************************************************
void remove_s1_ch1(char *s1,char ch1,char *ret){
while(*s1){
if(*s1!=ch1)
*ret++=*s1;
*s1++;
}
}
//**************************************************
void swap_s1_ch1_ch2(char *s1,char ch1,char ch2,char *ret){
while(*s1){
if(*s1==ch1)
*ret++=ch2;
else
*ret++=*s1;
*s1++;
}
}
//**************************************************
void paste_s1_s2(char *s1,char *s2){
while(*s1)
*s1++;
while(*s2){
*s1=*s2;
*s2++;
*s1++;
}
*s1='\0';
}