共用方式為


_fcvt_s

將浮點數值轉換為字串。 這是一個版本的_fcvt中所述的安全性增強功能與安全性功能,則在 CRT 中

errno_t _fcvt_s( 
   char* buffer,
   size_t sizeInBytes,
   double value,
   int count,
   int *dec,
   int *sign 
);
template <size_t size>
errno_t _fcvt_s( 
   char (&buffer)[size],
   double value,
   int count,
   int *dec,
   int *sign 
); // C++ only

參數

  • [out] buffer
    提供的緩衝區中儲存轉換的結果。

  • [in] sizeInBytes
    以位元組為單位的緩衝區大小。

  • [in] value
    以指定須轉換的數字。

  • [in] count
    小數點後的位數。

  • [out] dec
    預存的十進位小數點位置的指標。

  • [out] sign
    與預存的正負號的指標的指標。

傳回值

如果成功的話,則為零。 如果失敗,傳回的值會是一個錯誤碼。 錯誤代碼被定義在 Errno.h 中。 如需這些錯誤的清單,請參閱errno、 _doserrno、 _sys_errlist 和 _sys_nerr

如果是無效的參數,並依下表中,這個函式呼叫不正確的參數處理常式中,如所述參數驗證。 如果執行,則允許繼續執行,這個函式會將errno到EINVAL ,並傳回EINVAL。

錯誤狀況

buffer

sizeInBytes

count

12 月

sign

Return

在 [值buffer

NULL

任何

任何

任何

任何

任何

EINVAL

不會修改。

不NULL (指向有效的記憶體)

< = 0

任何

任何

任何

任何

EINVAL

不會修改。

任何

任何

任何

任何

NULL

任何

EINVAL

不會修改。

任何

任何

任何

任何

任何

NULL

EINVAL

不會修改。

安全性問題

_fcvt_s可能會產生存取違規,如果buffer不是指向有效的記憶體,並不是NULL。

備註

_fcvt_s函式會將浮點數值轉換成 null 結尾字元字串。 value參數是要轉換的浮點數。 _fcvt_s儲存的數字value做為字串,並將 null 字元 ('\ 0')。 count參數會指定要儲存於小數點後的位數。 多餘的數字會四捨五入後count放置。 如果未達count位數的精確度,字串以零填補。

只有數字會儲存在字串中。 小數點和的正負號的位置value可以取自dec和sign呼叫後。 dec參數指向整數值。 此整數值會提供相對於字串的開頭,小數點的位置。 零或負數的整數值,表示小數點位於左邊的第一個數字。 參數sign所指向的點表示的正負號之整數value。 整數被設定成 0,如果value為正值,且設定為非零的數字 if value為負數。

緩衝區長度的_CVTBUFSIZE不足,任何浮點值。

之間的差異_ecvt_s和_fcvt_s中的轉譯工作count參數。 _ecvt_s解譯count作為輸出字串中的數字的總數和_fcvt_s解譯 count的小數位數。

在 C++ 中,使用這項功能已經過簡化的範本多載。 多載可以緩衝區長度自動推斷,而不必指定 size 引數。 如需詳細資訊,請參閱 安全範本多載

偵錯版本,此函式的第一次填滿與 0xFD 的緩衝區。 若要停用這種情形,請使用_CrtSetDebugFillThreshold

需求

Function

所需的標頭

選擇性標頭

_fcvt_s

<stdlib.h>

<errno.h>

如需相容性資訊,請參閱相容性在簡介中。

定義函數庫: 所有版本的CRT 程式庫功能

範例

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

int main()
{
  char * buf = 0;
  int decimal;
  int sign;
  int err;

  buf = (char*) malloc(_CVTBUFSIZE);
  err = _fcvt_s(buf, _CVTBUFSIZE, 1.2, 5, &decimal, &sign);
  
  if (err != 0)
  {
     printf("_fcvt_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

_gcvt_s

_fcvt