Share via


_gcvt

부동 소수점 값을 버퍼에 저장되는 문자열로 변환합니다. 이러한 기능의 더 안전한 버전을 사용할 수 있습니다. _gcvt_s를 참조하십시오.

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

매개 변수

  • value
    변환될 값입니다.

  • digits
    저장된 유효 자릿수입니다.

  • buffer
    결과에 대한 저장소 위치입니다.

반환 값

_gcvt는 문자열의 자릿수에 대한 포인터를 반환합니다.

설명

_gcvt 함수는 부동 소수점 value 을 문자열로 변환하고 (10진수 및 부호 가능한 바이트 포함) buffer 에 문자열을 저장합니다. buffer는 변환된 값과 자동으로 추가되는 종료 null 문자를 수용하기에 충분히 커야 합니다. digits의 버퍼 크기 + 1이 사용되면, 함수는 버퍼의 끝을 덮어씁니다. 변환된 문자열은 소수점을 포함하며 부호와 지수 정보를 포함할 수 있기 때문입니다. 오버플로우에 대한 규정이 없습니다. _gcvt는 10 진수 형식으로 digits를 생성하려고 시도합니다. 할수 없는 경우, 지수 형식의 digits 숫자를 생성합니다. 따라오는 0들은 변환에서 무시될 수 있습니다.

_CVTBUFSIZE 길이의 buffer는 모든 부동 소수점 값에 대해 충분합니다.

이 함수는 해당 매개 변수의 유효성을 검사합니다. buffer이 NULL인 경우 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수가 호출됩니다. 계속해서 실행하도록 허용된 경우, 함수는 errno 를 EINVAL 에 설정하고 NULL을 반환합니다.

요구 사항

루틴

필수 헤더

_gcvt

<stdlib.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

예제

// 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 항목

System::Convert::ToSingle

참고 항목

참조

데이터 변환

부동 소수점 지원

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt