_gcvt_s

부동 소수점 값을 문자열로 변환 합니다.이것은 버전입니다 _gcvt 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.

errno_t _gcvt_s( 
   char *buffer,
   size_t sizeInBytes,
   double value,
   int digits 
);
template <size_t cchStr>
errno_t _gcvt_s( 
   char (&buffer)[cchStr],
   double value,
   int digits 
); // C++ only

매개 변수

  • [out] buffer
    변환의 결과 저장 하는 버퍼입니다.

  • [in] sizeInBytes
    버퍼의 크기입니다.

  • [in] value
    변환될 값입니다.

  • [in] digits
    유효 자릿수로 저장 합니다.

반환 값

성공 하는 경우에 0입니다.잘못 된 매개 때문에 오류가 발생 하는 경우 (잘못 된 값에 대 한 다음 표 참조)에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사.실행을 계속 하려면 허용 되지 않으면 오류 코드가 반환 됩니다.오류 코드는 errno.h에 정의 됩니다.이러한 오류에 대 한 목록을 참조 하십시오. errno, _doserrno, _sys_errlist, _sys_nerr.

오류 조건

buffer

sizeInBytes

value

digits

Return

값buffer

NULL

모든

모든

모든

EINVAL

수정 되지 않았습니다.

않은 NULL (올바른 메모리를 가리키는)

0

모든

모든

EINVAL

수정 되지 않았습니다.

않은 NULL (올바른 메모리를 가리키는)

모든

모든

> =sizeInBytes

EINVAL

수정 되지 않았습니다.

보안 문제

_gcvt_s액세스 위반이 발생할 수 있습니다 buffer 올바른 메모리를 가리키지 않는 한 하지 않습니다 NULL.

설명

_gcvt_s 함수는 부동 소수점 변환 value 를 가능한 기호 바이트 포함 하는 문자열을 문자열에 저장 하 고 buffer.buffer변환 된 값을 더한 자동으로 추가 되는 종료 null 문자를 수용 하기에 충분히 커야 합니다.버퍼 길이를 _CVTBUFSIZE 부동에 대 한 충분 한 값을 가리킵니다.버퍼 크기를 경우 digits + 1 사용, 함수 끝에 덮어 버퍼를 때문에이 작업에 대 한 충분 한 버퍼를 제공 해야 합니다._gcvt_s만들기 위해 시도 digits 숫자를 10 진수 형식입니다.불가능 한 경우이 생성 digits 숫자를 지 수 형식.뒤에 오는 0의 변환에 되지 않을 수 있습니다.

C + +에서이 함수를 사용 하는 템플릿 오버 로드에서 단순화 됩니다. 오버 로드 버퍼 길이 size 인수를 지정 하지 않아도 자동으로 유추할 수 있습니다.자세한 내용은 보안 템플릿 오버 로드를 참조하십시오.

이 함수의 디버그 버전을 먼저 버퍼 0xFD 채웁니다.이 동작을 해제 하려면 사용 _CrtSetDebugFillThreshold.

요구 사항

루틴

필수 헤더

선택적 헤더

_gcvt_s

<stdlib.h>

<error.h>

더 많은 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_gcvt_s.c
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

int main()
{
  char buf[_CVTBUFSIZE];
  int decimal;
  int sign;
  int err;

  err = _gcvt_s(buf, _CVTBUFSIZE, 1.2, 5);
  
  if (err != 0)
  {
     printf("_gcvt_s failed with error code %d\n", err);
     exit(1);
  }

  printf("Converted value: %s\n", buf);  
  
}
  

해당 .NET Framework 항목

ToString

참고 항목

참조

데이터 변환

부동 소수점 지원

atof, _atof_l, _wtof, _wtof_l

_ecvt_s

_fcvt_s

_gcvt