vfprintf, vfwprintf

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdio.h - Index


Header-Datei

stdio.h

Kategorie

Eingabe-/Ausgaberoutinen

Prototyp

int vfprintf(FILE *stream, const char *format, va_list arglist);

int vfwprintf(FILE *stream, const wchar_t *format, va_list arglist);

Beschreibung

Schreibt eine formatierte Ausgabe in einen Stream.

Die v...printf-Funktionen können als alternative Eintrittspunkte für die ...printf-Funktionen betrachtet werden. Sie verhalten sich genau wie ihre ...printf-Entsprechungen, akzeptieren jedoch einen Zeiger auf eine Argumentliste statt der Argumentliste selbst.

Einzelheiten zu den Formatbezeichnern finden Sie unter printf-Formatbezeichner.

vfprintf akzeptiert eine Reihe von Argumenten, ordnet sie den Formatbezeichnern in dem String zu, auf den format zeigt, und schreibt die so formatierten Daten in einen Stream. Es müssen so viele Formatbezeichner wie Argumente vorhanden sein.

Rückgabewert

Wenn erfolgreich, gibt vfprintf gibt die Anzahl der ausgegebenen Bytes zurück.

Bei einem Fehler wird EOF zurückgegeben.

Beispiel

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
FILE *fp;
int vfpf(char *fmt, ...)
{
   va_list argptr;
   int cnt;
   va_start(argptr, fmt);
   cnt = vfprintf(fp, fmt, argptr);
   va_end(argptr);
   return(cnt);
}
int main(void)
{
   int inumber = 30;
   float fnumber = 90.0;
   char string[4] = "abc";
   fp = tmpfile();
   if (fp == NULL)
   {
      perror("tmpfile() call");
      exit(1);
   }
   vfpf("%d %f %s", inumber, fnumber, string);
   rewind(fp);
   fscanf(fp,"%d %f %s", &inumber, &fnumber, string);
   printf("%d %f %s\n", inumber, fnumber, string);
   fclose(fp);
   return 0;
}

Portabilität

POSIX Win32 ANSI C ANSI C++

vfprintf

+

+

+

+

vfwprintf

+

+

+

Siehe auch