snprintf_s, snwprintf_s
Nach oben zu stdio.h - Index
Header-Datei
stdio.h
Kategorie
Funktionen für die formatierte Eingabe/Ausgabe
Prototyp
int snprintf_s(char * restrict s, rsize_t n, const char * restrict format, ...);
int snwprintf_s(wchar_t * restrict s, rsize_t n, const wchar_t * restrict format, ...);
Beschreibung
Sendet die formatierte Ausgabe an den Puffer s mit der im Parameter n angegebenen Maximallänge.
snprintf_s entspricht snprintf fügt aber Laufzeiteinschränkungen hinzu, die verhindern, dass format Null und n kleiner als Null sowie kleiner als RSIZE_MAX ist.
Wenn ein Fehler auftritt, und Laufzeiteinschränkungen gültig sind, dann setzt snprintf_s s[0] auf Null.
Im Gegensatz zu sprintf_s, swprintf_s verkürzt snprintf_s das Ergebnis auf die Länge des Arrays, auf das s zeigt.
Rückgabewert
Anzahl der ausgegebenen Zeichen (sofern s groß genug ist) ohne das abschließende Zeichen '\0'. Bei einer Verletzung von Laufzeiteinschränkungen wird ein negativer Wert zurückgegeben.
Hinweis: Das Zeichen '\0' wird nur geschrieben, wenn der Rückgabewert größer oder gleich Null und kleiner als n ist.
Beispiel
#include <stdio.h> #include <math.h> int main(void) { char buffer[80]; snprintf_s(buffer, 40, "An approximation of Pi is %f\n", M_PI); puts(buffer); return 0; }