[C] Bestimmen der Länge des Ergebnisses von sprintf

SirOPIUM

Grünschnabel
Ich bin derzeit auf der Suche nach einer Funktion (in C), mit der es möglich ist, auf ähnlich einfache Art wie in sprintf Daten in einer Zeichenkette zu speichern. Allerdings soll der Speicher für die Zeichenkette erst bei Funktionsaufruf reserviert werden, wofür die Länge des Ergebnisses bekannt sein müsste.
Ist dies möglich, ohne die Formatierung und die Argumente vorab durchzukauen und das einzeln auszurechnen?
 
Hi.

Wenn du einen zum C99 Standard konformen Compiler und C Bibliothek verwendest, könntest du die snprintf Funktion verwenden und erstmal einen Puffer von x Zeichen übergeben. Die Funktion gibt dann einen Wert > x zurück wenn der Speicher nicht ausgereicht hat, dieser Wert ist dann der benötigte Speicher.

Gruß
 
Zurück