# zeichen in String an beliebiger Stelle einfügen ohne andere Zeichen zu überschreiben



## Burny66 (12. August 2007)

Hallo,

bin relativ neu in C und möchte in einen String an eine beliebige Stelle ein zeichen einfügen. Zum Beispiel möchte ich in den String="6 9" folgende Zeichen einfügen ",3,3" hinter der 6 so das da am ende im String steht 6,3,3 9
Wie könnte ich dies am besten realisieren?

wäre euch dankbar


----------



## Supa (12. August 2007)

Hy,

dafür gibt es bei Strings die funktion Insert(int index, String inhalt)

also quasi:
	
	
	



```
String a = "6 9";
a.Insert(2,",3,3");
```

MfG


----------



## Burny66 (12. August 2007)

nee das ganze muss in C sein


----------



## MCoder (12. August 2007)

Hallo,
hier ein Beispiel in C. Das Ergebnis steht in pNew.
Prinzipiell musst du den Ausgangsstring an der Einfügeposition aufteilen und und die einzelnen Teilstücke (inklusive des Einfügestrings) in einem neuen Buffer mit ausreichender Größe zusammenbauen.

```
char str[] = "6 9";
char ins[] = ",3,3";

char *pNew = (char *)malloc(strlen(str) + strlen(ins) + 1);

strncpy(pNew, str, 1);
strcat(pNew, ins);
strcat(pNew, str+1);

// ...

free(pNew);
```
Gruß
MCoder


----------

