Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Strings ersetzen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.05.2005, 17:58 Uhr
~fullnand
Gast


Hallo
Könnt ihr mir bitte bei folgender Aufgabe helfen?

Schreiben und testen sie eine Funktion replaceAll(), die in einem String jedes Vorkommen eines Teilstrings durch einen anderen String ersetzt. Die drei Strings werden als Argumente übergeben und die Funktion soll die Anzahl der ersetzten Teilstrings zurückgeben.
Beispiel: replaceAll(s,"mein","dein") ersetzt jedes Vorkommen von mein im String s durch ein.

Gruß, Daniel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.05.2005, 18:17 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


jo und wo ist nun dein problem? hausaufgabenservice steht glaub ich nicht in der Forenbeschreibung
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.05.2005, 18:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hatte ich mir mal irgendwann gebastelt.... obs wirklich immer funzt?

C++:
int ersetzen(char *such, char *neu, char **inp,int *inp_l){
int offset,x=strlen(neu),y=strlen(such),z=strlen(*inp),rv=0;
char *str,*tmp;

    while(str=strstr(*inp,such)){ //substring such im string *inp suchen
        ++rv;                    //inkrementieren der anzahl der gefundenen ersetzungen
        z+=x-y;                    //neue zeichenanzahl von *inp errechnen                    

        if(*inp_l<=z){            //wenn *inp nicht gross genu
            offset=str-*inp;    //offset merken
            tmp=(char*)realloc(*inp,sizeof(char)*(z+1));    //feld entsprechneder grösse allokieren
            if(tmp){*inp=tmp;*inp_l=z+1;str=*inp+offset;}    //ursprungszustand der zeiger herstellen
            else return -1;
        }
            
           memmove(str+x,str+y,sizeof(char)*strlen(str+y-1));    //werte im array nach dem zu ersetzenden verschieben
        memcpy(str,neu,sizeof(char)*x);                        //neu zeichenfolge in *inp kopieren
        
    }

    return rv; //fertisch
}


int main(){

int inp_l=100;
char *inp;

inp=(char*)malloc(sizeof(char)*inp_l);

sprintf(inp,"trlalala 1234 asdfasdf gmx 1234 ende feierabend 1234");

printf("%s\n",inp);
ersetzen("1234","linux suckx",&inp,&inp_l);
printf("%s\n",inp);
free(inp);
}




--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
02.05.2005, 18:47 Uhr
Bruder Leif
dances with systems
(Operator)


Demnächst posten hier Microsoft-Mitarbeiter "ich soll ein neues Windows programmieren, könnt ihr mir schnell den Quelltext posten"...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.05.2005, 19:19 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von Bruder Leif:
Demnächst posten hier Microsoft-Mitarbeiter "ich soll ein neues Windows programmieren, könnt ihr mir schnell den Quelltext posten"...

stabiler und besser wärs dann auf jeden fall
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.05.2005, 19:58 Uhr
~fullnand
Gast



Zitat von FloSoft:
jo und wo ist nun dein problem? hausaufgabenservice steht glaub ich nicht in der Forenbeschreibung


1. Ist das keine Hausaufgabe
2. Steht in der Forenbeschreibung, dass es hier um das Programmieren von Konsolenanwendungen geht.

Entschuldigt bitte vielmals
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: