_gcvt

Convertit une valeur à virgule flottante à une chaîne, qu'il stocke dans une mémoire tampon.un plus version sécurisée de cette fonction est disponible ; consultez _gcvt_s.

char *_gcvt( 
   double value,
   int digits,
   char *buffer 
);

Paramètres

  • value
    Valeur à convertir.

  • digits
    Nombre de chiffres significatifs enregistrés.

  • buffer
    emplacement de stockage pour le résultat.

Valeur de retour

_gcvt retourne un pointeur vers la chaîne de chiffres.

Notes

La fonction d' _gcvt convertit value à virgule flottante à une chaîne de caractères (qui inclut une virgule et un octet possible de signe) et enregistre la chaîne dans buffer.buffer doit être assez grand pour recevoir à la valeur convertie plus un caractère NULL de fin, qui est ajouté automatiquement.Si une taille de la mémoire tampon d' digits + 1 est utilisée, la fonction remplace la fin de la mémoire tampon.C'est parce que la chaîne convertie inclut une virgule et peut contenir des informations de signe et d'exposant.Il n'existe aucune disposition pour le dépassement de capacité.tente d'_gcvt de produire des chiffres de digits au format décimal.S'il n'est pas le cas, il produit des chiffres de digits au format exponentiel.Les zéros de fin peuvent être supprimés lors de la conversion.

buffer de longueur _CVTBUFSIZE est suffisant pour une valeur à virgule flottante.

cette fonction valide ses paramètres.si buffer est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, les ensembles errno de cette fonction à EINVAL et retourne NULL.

Configuration requise

routine

en-tête requis

_gcvt

<stdlib.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

Exemple

// crt_gcvt.c
// compile with: /W3
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main( void )
{
   char buffer[_CVTBUFSIZE];
   double value = -1234567890.123;
   printf( "The following numbers were converted by _gcvt(value,12,buffer):\n" );
   _gcvt( value, 12, buffer ); // C4996
   // Note: _gcvt is deprecated; consider using _gcvt_s instead
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );

   printf( "\n" );
   value = -12.34567890123;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
}
  

Équivalent .NET Framework

System : : Conversion : : ToString

Voir aussi

Référence

Conversion de données

Support à virgule flottante

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt