Imi poate explica cineva pe rand secventele din while?
#include<iostream>
#include<string.h>
#include<conio.h>
using namespace std;
char S[250], s2[250], s[250], s1[250];
int u, i, p;
int main()
{
cin.getline(s,100);
cin.getline(s1,100);
cin.getline(s2,100);
do
{
char * pt=strstr(s, s1);
if(!pt)
{ for(i=u;i<strlen(s);i++)
strncat(S,s+i,1);
break;
}
p=pt-s;
for(i=u;i<p;i++) S[i]=s[i];
for(i=p;i<p+strlen(s1);i++)
s[i]='!';
for(i=p;i<p+strlen(s2);i++)
strncat(S,s2+i-p,1);
u=p+strlen(s1);
}
while(1);
cout<<S;
getch();
return 0;
}
l-am scris ordonat sa se inteleaga. de exemplu la strncat(S,s+i,1); copie pe rand cate-un caracter din s in S sau cum?