vprintf() ist in der stdio definiert, die in C über stdio.h, bzw in C++ über cstdio eingebunden wird.
vprintf() wird dazu verwendet, um einen String aus einem FormatString zu erzeugen und anschließend auf der Standardausgabe (stdout) auszudrucken.
vprintf() kann als Kombination von vsprintf() und puts() verstanden werden.
#include <stdio.h> int vprintf( char const * formatString, va_list args );
formatString: Formatstring, der beschreibt, wie der String zusammengesetzt wird
args: Eine Liste von Argumenten
Return Value: Die Länge des Strings im Erfolgsfall (das angehängte Nullbyte wird nicht mitgezählt) oder eine negative Zahl im Fehlerfall.
-
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <stdarg.h> #include <string.h> int error( char const * format, ... ) { va_list args; int n; puts( "Error: " ); va_start( args, format ); n = vprintf( format, args ); puts( "\n" ); va_end( args ); return n; } int main (void) { char const * filename = "nicht-existierende-datei"; FILE * file = fopen( filename, "r+" ); if( !file ) error( "Could not open '%s'", filename ); else fclose( file ); return EXIT_SUCCESS; }
Ausgabe:
Error: Could not open 'nicht-existierende-datei'