Section courante

A propos

Section administrative du site

VSPRINTF

Imprime dans une chaine en format à partir de virtuel
Langage C++ cstdio (stdio.h)

Syntaxe

int vsprintf(char *tampon,const char *texte,va_list ptrargument)

Paramètres

Nom Description
tampon Ce paramètre permet d'indiquer la chaîne de caractères ASCIZ recevant les données
texte Ce paramètre permet d'indiquer le texte à écrire. Il est a noter que un ou plusieurs des spécificateurs suivants peuvent être inclus dans le texte et il utilisera un argument supplémentaire pour chaque spécificateurs :
Spécificateur Description
%c Ce spécificateur indique d'insérer à cette position un caractère contenu dans la liste des arguments après le texte
%d Ce spécificateur indique d'insérer à cette position un entier sous forme décimal contenu dans la liste des arguments après le texte
%f Ce spécificateur indique d'insérer à cette position un nombre à virgule flottante contenu dans la liste des arguments après le texte
%i Ce spécificateur indique d'insérer à cette position un entier contenu dans la liste des arguments après le texte
%o Ce spécificateur indique d'insérer à cette position un entier sous forme octal contenu dans la liste des arguments après le texte
%s Ce spécificateur indique d'insérer à cette position une chaîne de caractères contenu dans la liste des arguments après le texte
%x Ce spécificateur indique d'insérer à cette position un entier sous forme hexadécimal contenu dans la liste des arguments après le texte
Il est possible d'ajouter une précision du nombre décimal afficher en insérant le nombre entre le symbole de pourcentage et la lettre.
ptrargument Ce paramètre permet d'indiquer le pointeur d'argument

Description

Cette fonction effectue l'écriture de texte selon un certain format à l'aide de paramètre virtuel à partir d'un tampon.

Remarque

Exemple

Voici divers exemple d'affichages de format :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdarg.h>
  4.  
  5. void MyVSPrintF(const char * format, ...) {
  6.   va_list args;
  7.   char buffer[255];
  8.   va_start(args, format);
  9.   vsprintf(buffer,format, args);
  10.   puts(buffer);
  11.   va_end(args);
  12. }
  13.  
  14. int main () {
  15.   MyVSPrintF("Boujour!");
  16.   MyVSPrintF("Entier %%i = %i",15);
  17.   MyVSPrintF("Hexadecimal %%x = %x",16);
  18.   MyVSPrintF("Octal %%o = %o",16);
  19.   MyVSPrintF("Chaine de caracteres %%s = %s","message");
  20.   MyVSPrintF("Reel %%f = %f",123.45);
  21.   MyVSPrintF("Reel %%f = %.2f",123.45);
  22.   return 0;
  23. }

on obtiendra le résultat suivant :

Boujour!
Entier %i = 15
Hexadecimal %x = 10
Octal %o = 20
Chaine de caracteres %s = message
Reel %f = 123.450000
Reel %f = 123.45

Voir également

Langage de programmation - C++ - Référence procédures et fonctions - printf
Langage de programmation - C++ - Référence procédures et fonctions - va_arg
Langage de programmation - C++ - Référence procédures et fonctions - va_end
Langage de programmation - C++ - Référence procédures et fonctions - va_start
Langage de programmation - C - Référence procédures et fonctions - vsprintf

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 736.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 293.

Dernière mise à jour : Lundi, le 3 août 2015