Muzete nekdo kouknout na nasledujici kod? Ma to najit v retezci vstup podretezec s1 a nahradit ho podretezcem s2... Uz fakt nevim, co je tam blbe...
Kód:
#include <string.h>
#include <stdio.h>
#include <conio.h>
char *NajdiNahrad(char *vstup, char *s1, char *s2)
{
char *ptr, *pracovni, *usek;
ptr=strstr(vstup, s1); /* ptr - ukazatel na misto vyskytu podretezce s1 */
strcpy(pracovni,"");
if (ptr!=0) /* s1 byl ve vstupu nalezen */
{
strncat(pracovni, vstup, strlen(vstup)-strlen(ptr)); /*Zkopiruji prvni cast az do zacatku s1 */
usek=ptr+strlen(s1); /* tohle je cast ZA retezcem s1 - s1 a s2 nemusi byt stejne dlouhe */
strncat(pracovni, s2, strlen(s2)); /* pripojime s2 */
strncat(pracovni, usek, strlen(usek)); /* a nakonec posledni kousek */
return(pracovni);
}
else
{
return(vstup); /*kdyz se s1 nenajde, vratime puvodni retezec */
}
}
int main(void)
{
char *vstup, *s1, *s2, *vysledek;
strcpy(vstup,"Usama Bin Ladin");
strcpy(s1,"Bin");
strcpy(s2,"Bush");
vysledek=NajdiNahrad(vstup, s1, s2);
printf("%s\n", vysledek);
return(0);
}
V DevCpp zpusobi v XP hlasku "V programu ... nastala chyba a bude nutno jej uzavrit"... atd..??
Jelikoz ted nejsem doma, kde mi to pod starym Borland C a W2k jelo celkem solidne, tak mam podezreni na kompilator/OS... Mohl by se najit nejaky dobrodinec a zkusit to nekde u sebe zkompilovat a pustit? Uz fakt nevim, co je tam blbe... Mozna jsem se nekde uklepl, protoze nebudu nic zastirat, praci s retezci v C moc rad nemam... A pro rejpaly : ANO, JE TO SEMINARKA PRO KAMOSE