004
23.04.2004, 11:26 Uhr
~Piet
Gast
|
C++: |
char* ersetzen(char *such, char *neu, char *inp) { int len_re = 0; int len_repl = 0; int len_in = 0; int len_new = 0; char new_string[100] = {0}; char *pdest; int pos = 0;
len_re = strlen(such); len_repl = strlen(neu);
if(len_re) { pdest = strstr(inp, such); while(pdest) { memset(new_string, 0, strlen(new_string)); pos = pdest - inp + 1; len_in = strlen(inp);
if(pos == 1) { strcpy(new_string, neu); inp = inp + len_re; strcat(new_string, inp); inp = inp - len_re; } else { strncpy(new_string, inp, pos - 1); strcat(new_string, neu);
if(pos + len_re - 1 != len_in) { inp = inp + pos + len_re - 1; strcat(new_string, inp); inp = inp - pos - len_re + 1; } }
len_new = len_in - len_re + len_repl;
inp = (char*)malloc(len_new); memset(inp, 0, sizeof(len_new)); strcpy(inp, new_string);
pdest = strstr(inp, such); } } return inp; }
|
ich hoffe jemand findet einen Fehler... Dieser Post wurde am 23.04.2004 um 11:30 Uhr von Pablo editiert. |