hallo leute hätt da ne frage . wie könnte man in c am einfachsten teile eines strings ersetzen? wenn ma zb. einen string mi "beispiel.doc" hat und das programm daraus "beispiel.txt" machen soll. ich schätze mal man muss den string mit strtok zerteilen, und dann den teil hintermpunkt austauschen. aber wie tausche ich den teil aus??
so was parse ich einach von hinten durch (auf den ersten Punkt), merk mir die Stelle, und - ändere die Endung, wenn die Stringlänge gleich oder kürzer ist, und ich den original string nicht mehr brauche - memcpy oder sprintf in einen anderen String, per &str[i]
char * locpoint; char start[256]; strcpy(start,"beispiel.doc"); locpoint = strstr(start,"."); strcpy(locpoint,".txt");
Reinhard Leitgeb schrieb: > Danke. Haut super hin! Das geht hier aber nur, weil der Ersatz gleich lang ist wie das Original und auch noch ganz hinten steht. In den meisten Fällen hat man aber den Luxus nicht. Dann lautet die Strategie: Nicht ersetzen, sondern einen neuen String zusammenbauen, der aus dem Teil aus dem Original vor der Ersetzstelle, dem zu ersetzenden Teil und dem Teil aus dem Original nach der Ersatzstelle besteht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.