_gcvt

Konvertiert eine Gleitkommazahl mit einer Zeichenfolge, die sie in einem Puffer gespeichert wird.Eine sicherere Version dieser Funktion ist verfügbar. Weitere Informationen finden Sie unter _gcvt_s.

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

Parameter

  • value
    Der zu konvertierende Wert.

  • digits
    Anzahl der signifikanten Ziffern gespeichert.

  • buffer
    Speicherort für das Ergebnis.

Rückgabewert

_gcvt gibt einen Zeiger auf die Zeichenfolge von Ziffern zurück.

Hinweise

Die _gcvt-Funktion value float konvertiert in eine Zeichenfolge und ein Dezimaltrennzeichen (byte) umfasst ein beliebiges Zeichen und speichert die Zeichenfolge in buffer.buffer muss groß genug sein, den konvertierten Wert NULL aufweist, das ein positiver automatisch angefügt wird.Wenn eine Puffergröße von digits + 1 verwendet wird, überschreibt die Funktion zum Ende des Puffers.Dies liegt daran, dass die konvertierte Zeichenfolge ein Dezimaltrennzeichen beinhaltet und Zeichen- und Exponenten Informationen enthalten kann.Es gibt keine Bereitstellung für Überlauf._gcvt versucht, digits Ziffern im Dezimalformat zu erzeugen.Wenn es nicht möglich ist, erzeugt es digits Ziffern im exponentiellen Format.Nachgestellte Nullen werden bei der Konvertierung unterdrückt werden.

buffer der Länge _CVTBUFSIZE ist für jeden Gleitkommawert ausreichend.

Diese Funktion überprüft seine Parameter.Wenn bufferNULLungültige Parameter ist, wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung ermöglicht wird, um fortzufahren, gibt diese Funktion errno legt diesen fest EINVAL und NULLzurück.

Anforderungen

Routine

Erforderlicher Header

_gcvt

<stdlib.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Beispiel

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

.NET Framework-Entsprechung

System::Convert::ToString

Siehe auch

Referenz

Datenkonvertierung

Gleitkommaunterstützung

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt