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&#40;char *vstup, char *s1, char *s2&#41;
&#123;
    char *ptr, *pracovni, *usek;
    ptr=strstr&#40;vstup, s1&#41;; /* ptr - ukazatel na misto vyskytu podretezce s1 */
    strcpy&#40;pracovni,""&#41;;
    if &#40;ptr!=0&#41; /* s1 byl ve vstupu nalezen */
    &#123;
        strncat&#40;pracovni, vstup, strlen&#40;vstup&#41;-strlen&#40;ptr&#41;&#41;; /*Zkopiruji prvni cast az do zacatku s1 */
        usek=ptr+strlen&#40;s1&#41;; /* tohle je cast ZA retezcem s1 - s1 a s2 nemusi byt stejne dlouhe */
        strncat&#40;pracovni, s2, strlen&#40;s2&#41;&#41;; /* pripojime s2 */
        strncat&#40;pracovni, usek, strlen&#40;usek&#41;&#41;; /* a nakonec posledni kousek */
        return&#40;pracovni&#41;; 
    &#125;    
    else
    &#123;
        return&#40;vstup&#41;; /*kdyz se s1 nenajde, vratime puvodni retezec */
    &#125;    
&#125;

int main&#40;void&#41;
&#123;
    char *vstup, *s1, *s2, *vysledek;
    strcpy&#40;vstup,"Usama Bin Ladin"&#41;;
    strcpy&#40;s1,"Bin"&#41;;
    strcpy&#40;s2,"Bush"&#41;;
    vysledek=NajdiNahrad&#40;vstup, s1, s2&#41;;
    printf&#40;"%s\n", vysledek&#41;;
    return&#40;0&#41;;
&#125;
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