Definition | #include <stdio.h> int sprintf(char *s, const char *format, argumentenliste);
|
Parameter | char *s Zeiger auf die Ergebniszeichenkette. const char *format Formatzeichenkette wie bei Es gibt nur bzgl. der Steuerzeichen für Zwischenraum (\n, \t, etc.) folgenden Unterschied: argumentenliste Variablen oder Konstanten, deren Werte gemäß den Angaben in den Formatanweisungen für die Ausgabe umgewandelt und formatiert werden sollen. |
Returnwert
Anzahl der in s gespeicherten Zeichen.
Das durch sprintf
generierte abschließende Nullbyte (\0) wird dabei nicht mitgezählt.
Hinweise | Sie müssen dafür sorgen, dass der Bereich, auf den s zeigt, groß genug für das Ergebnis ist! Bei der Umwandlung von Gleitkommazahlen rundet
Maximale Anzahl der auszugebenden Zeichen Bei sich überlappenden Speicherbereichen ist das Verhalten undefiniert. Versuche, nicht initialisierte Variablen oder Variablen nicht entsprechend ihrem Datentyp auszugeben, können zu undefinierten Ergebnissen führen. Das Verhalten ist undefiniert, wenn in einer Formatanweisung dem Prozentzeichen (%) ein nicht definiertes Formatierungs- bzw. Umwandlungszeichen folgt. |
Beispiel | Sie können #include <stdio.h> int main(void) { int n; char *s2 = "Peter geht schwimmen !"; char s1[BUFSIZ]; printf("Der Satz lautet : %s \nWieviel Zeichen kopieren ?\n", s2); scanf("%d",&n); /* Alternativ könnte an dieser Stelle folgender Aufruf stehen: strncpy(s1,s2,n); */ sprintf(s1,"%.*s",n,s2); printf("%s \n",s1); return 0; } |
Siehe auch
printf, fprintf, snprintf, putc, putchar, puts, sscanf