strcpy in printf-Stil ?

AckiB

Mitglied
Hi,
ich möchte einen String aus mehreren strings zusammensetzen.
Dazu möchte ich zwei Strings, wie mit printf, in einen neuen String kopieren.

Beispiel:

char text1[] = "dies ist %s Test";
char text2[] = "ein";
char textNeu[MAXSTRING];
strcpy(textNeu, text1, text2); // Funktioniert natürlich nicht !


Also, text1 soll in textNeu kopiert werden und text2 soll dann in diesen String, an Position %s eingefügt werden !
Also, printf(textNeu); soll dann den zusammengesetzten String ausgeben !

Mit strcpy (wie im Beispiel) funktioniert das nicht... :(
Gibt es eine Funktion, mit der man das erreichen kann ?
Oder muss ich dafür eine eigene Funktion schreiben ? :\

CU, Acki
 
Original geschrieben von Endurion
strcpy setzt keine Format-Parameter ein, aber sprintf.

Das strcpy keine Formatparameter akzeptiert habe ich ja schon selber gemerkt... ;)

sprintf ist genau die Funktion, die ich gesucht habe ! :)

thx, Acki
 
Wenn du nur 2 Strings zusammenhängen willst kannst du auch
Code:
strcat(string1,string2)
Da wird der string2 an string1 angehängt
 
Ja, strcat() kenne ich...
Damit hätte ich mein Beispiel von oben auch so lösen können:

Code:
strcpy(text, "dies ist ");
strcat(text, "ein");
strcat(text, " Test");

da finde ich sprintf() eleganter...

Code:
sprintf(text, "dies ist %s Test", "ein");

Naja, viele Wege führen nach Rom ! ;)

CU, Acki
 
Zurück