Aracılığıyla paylaş


_fcvt_s

Kayan noktalı sayı bir dizeye dönüştürür.Bu sürümü, _fcvt açıklandığı gibi güvenlik geliştirmeleri ile CRT'deki Güvenlik Özellikleri.

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

Parametreler

  • [Çıkış]buffer
    Sağlanan arabellek dönüştürülme tutacaktır.

  • [in]sizeInBytes
    Arabelleğinin bayt cinsinden boyutu.

  • [in]value
    Dönüştürülecek sayı.

  • [in]count
    Ondalık basamak sayısı.

  • [Çıkış]dec
    Saklanan ondalık nokta Konum işaretçisi.

  • [Çıkış]sign
    Depolanan oturum göstergesi için işaretçi.

Dönüş Değeri

Başarılı olursa sıfır.Bir hata varsa dönüş değeri hata kodudur.Hata kodları Errno.h tanımlanır.Bu hataların listesi için bkz: errno, _doserrno, _sys_errlist, and _sys_nerr.

Geçersiz bir parametre aşağıdaki tabloda listelendiği gibi bu işlevi geçersiz parametre işleyicisi açıklandığı gibi çağırır Parametre Doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevi ayarlar errno için EINVAL ve EINVAL.

Hata koşulları

buffer

sizeInBytes

value

count

Ara

sign

Return

İçindeki değerbuffer

NULL

herhangi bir

herhangi bir

herhangi bir

herhangi bir

herhangi bir

EINVAL

Değiştirilmedi.

Değil NULL (noktaları için geçerli bellek)

< = 0

herhangi bir

herhangi bir

herhangi bir

herhangi bir

EINVAL

Değiştirilmedi.

herhangi bir

herhangi bir

herhangi bir

herhangi bir

NULL

herhangi bir

EINVAL

Değiştirilmedi.

herhangi bir

herhangi bir

herhangi bir

herhangi bir

herhangi bir

NULL

EINVAL

Değiştirilmedi.

Güvenlik sorunları

_fcvt_serişim ihlali olursa oluşturabilecek buffer için geçerli bellek göstermiyor ve değil NULL.

Notlar

_fcvt_s İşlevi bir kayan noktalı sayı biten karakter dizesine dönüştürür.value Dönüştürülecek kayan noktalı sayı parametresidir._fcvt_srakamını depolar value bir dize olarak ve boş karakter ('\0') ekler.count Parametresi ondalık ayırıcıdan sonra depolanan basamak sayısını belirtir.Fazla basamak yuvarlanmış için count yerleştirir.Varsa daha az count basamak duyarlıkla dize sıfır koyarak azsa.

Yalnızca rakam dizesi içinde saklanır.Ondalık noktası ve işareti konumunu value den alınan dec ve sign çağrısının.dec Parametresi gösteren bir tamsayı değeri için; Bu tamsayı değeri dize başlangıcını açısından ondalık noktasının konumunu verir.Sıfır veya negatif tamsayı değeri gösterir ondalık noktasının ilk basamak soluna yatmaktadır.Parametre sign belirtisi gösteren bir tamsayı işaret value.Tamsayı sıfıra ayarlanır value pozitif ve sıfır olmayan bir sayı Eğer set value negatif olur.

Arabellek uzunluğu _CVTBUFSIZE herhangi bir değişken için yeterli olan nokta değeri.

Arasındaki fark _ecvt_s ve _fcvt_s 'ın yorumu olan count parametresi._ecvt_syorumlar count toplam çıkış dizesi basamak sayısı arttıkça ve _fcvt_s c yorumlarount ondalık basamak sayısı.

C++'da, bu işlevi kullanarak şablon aşırı tarafından basitleştirilerek verilmiştir; aşırı arabellek uzunluğu otomatik olarak size baðýmsýz deðiþkeni belirtmek için gereksiz gerçekleştirip.Daha fazla bilgi için bkz. Güvenli Şablon Aşırı Yüklemeleri.

Bu işlev hata ayıklama sürümünü ilk 0xFD ile arabellek doldurur.Bu davranışı devre dışı bırakmak için _CrtSetDebugFillThreshold.

Gereksinimler

İşlev

Gerekli başlık

İsteğe bağlı bir üstbilgi

_fcvt_s

<stdlib.h>

<errno.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Kitaplıklar: tüm sürümleri CRT Kitaplık Özellikleri.

Örnek

// 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 Eşdeğeri

ToString

Ayrıca bkz.

Başvuru

Veri Dönüştürme

Kayan Nokta Desteği

atof, _atof_l, _wtof, _wtof_l

_ecvt_s

_gcvt_s

_fcvt