Hi...
ich möchte in einem String eine Zeichenkette ersetzen.
Dazu habe ich schon etwas gefunden, und ich weiß so ungefaähr was ich da gemacht habe
Aber dieses Ersetzen funktioniert nur mit Strings die genauso lang sind, wie das zu Ersetzende.
/* strstr example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[900];
strcpy(str1,"This is a simple string");
char str2[900];
strcpy(str2,"sample");
char * pch;
pch = strstr (str1,"simple");
if(pch)
{
strncpy (pch,str2,strlen(str2));
puts (str1);
}
system("pause");
return 0;
}
Wie kriege ich es jetzt hin, dass alles hinter dem Wort "sample" verschoben wird, so dass der String da reinpasst.
Das ganze sollte auch bei kleineren Strings funktionieren
Kann mir da einer helfen? Ich hatte an die Funktion memmove() gedacht, aber ich habe keine Ahnung wie die funktioniert.
EDIT: Am einfachsten wäre es, wenn ich die Postion hätte, wo der gesuchte String von strstr() anfängt. Dann könnte ich mit einer Schleife jedes Zeichen einzelnd kopieren. .
Danke schon mal für die antworten.