->

vprintf()

vprintf() ist in der 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 <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.

Fehlerquellen

-

Beispiel

#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'

siehe auch