017
23.04.2004, 14:03 Uhr
Pablo
Supertux (Operator)
|
Okkkkkkkk jetzt so on the fly
C++: |
// ich werde nicht überprüfen, ob es Platz in buffer gibt oder nicht! Das //könntest du zur Übung selber machen char* ersetzen(const char* suche, const char* neu, const char* inp, char* buffer) { char* ptr; if (!suche || !neu || !inp || !buffer) return buffer=NULL; ptr=strstr(inp, suche); if(!ptr) { strcpy(buffer, inp); return buffer; }
*buffer=0; if (ptr!=inp) { strncpy(buffer, inp, ptr-inp); buffer[ptr-inp]=0; // damit ich strcat benuzten kann } strcat(buffer, neu); ptr+=strlen(suche); strcat(buffer, ptr); return buffer; }
|
Ok, die Benuztung....
C++: |
char tmp[1000]; ... ersetze("ishst", "ist", "Das ishst ein Test", tmp); printf("%s\n", tmp);
|
Sollte "Das ist ein Test" ausgeben. ich überprüfe, ob ich Fehler hab. so on the fly weiss man nie. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 23.04.2004 um 14:25 Uhr von Pablo editiert. |