Sdílet prostřednictvím


_gcvt

Převede hodnotu s plovoucí desetinnou čárkou je řetězec, který se uloží do vyrovnávací paměti.Bezpečnější verze této funkce je k dispozici; Viz _gcvt_s.

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

Parametry

  • value
    Hodnota má být převeden.

  • digits
    Počet platných číslic, které jsou uloženy.

  • buffer
    Umístění úložiště pro výsledek.

Vrácená hodnota

_gcvtVrací ukazatel na řetězec číslic.

Poznámky

_gcvt Funkce převede čárce value na řetězec znaků (která obsahuje desetinnou čárku a možné podepsat byte) a ukládá řetězec v buffer.buffer By mělo být dostatečně velké pro uchování převedené hodnoty plus ukončujícím znakem null je automaticky připojen.Pokud velikost vyrovnávací paměti digits + 1 je použita, funkce přepíše konec vyrovnávací paměti.Je to proto, že převedeného řetězec obsahuje desetinnou čárku a obsahovat znak a exponent informace.Není žádné ustanovení pro přetečení._gcvtpokusy o vytvoření digits číslic v desítkovém formátu.Pokud jej nelze, vytváří digits ve formátu exponenciální číslic.Koncové nuly může být potlačeny v převodu.

A buffer délky _CVTBUFSIZE je dostatečná pro všechny plovoucí hodnotou bodu.

Tato funkce ověřuje jeho parametry.Pokud buffer je NULL, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametru.Pokud je povoleno spuštění pokračovat, tato funkce nastaví errno na EINVAL a vrátí NULL.

Požadavky

Rutina

Požadované záhlaví

_gcvt

<stdlib.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

// 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) );
}
  

Ekvivalent v rozhraní .NET Framework

System::convert::toString

Viz také

Referenční dokumentace

Převod dat

Podpora plovoucí desetinné čárky

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt