_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