====== vprintf() ======
''vprintf()'' ist in der ''[[c:lib:stdio:start|stdio]]'' definiert, die in C über ''stdio.h'', bzw in C++ über ''cstdio'' eingebunden wird.
===== Funktion =====
''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.
===== Signatur =====
#include
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.
===== Fehlerquellen =====
-
===== Beispiel =====
#include
#include
#include
#include
#include
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'
===== siehe auch =====
[[c:lib:stdio:start|stdio]]: [[c:lib:stdio:vsprintf()]], [[c:lib:stdio:fprintf()]], [[c:lib:stdio:vfprintf()]], [[c:lib:stdio:sprintf()]], [[c:lib:stdio:puts()]], [[c:lib:stdio:fwrite()]] \\
[[c:lib:stdarg:start|stdarg]]: [[c:lib:stdarg:va_list]], [[c:lib:stdarg:va_start]], [[c:lib:stdarg:va_end]]