fwrite

Bir akışa veri yazar.

Sözdizimi

size_t fwrite(
   const void *buffer,
   size_t size,
   size_t count,
   FILE *stream
);

Parametreler

buffer
Yazılacak verilerin işaretçisi.

size
Bayt cinsinden öğe boyutu.

count
Yazılacak en fazla öğe sayısı.

stream
Yapı işaretçisi FILE .

Dönüş değeri

fwrite işlevin yazdığı tam öğe sayısını döndürür; bu, hata oluşmasından daha count az olabilir. Ayrıca bir hata oluşursa, dosya konumu göstergesi belirlenemez. Ya da stream buffer null işaretçiyse ya da Unicode modunda yazılacak tek sayıda bayt belirtildiyse, işlev Parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, bu işlev olarak EINVAL ayarlanır errno ve 0 döndürür.

Açıklamalar

fwrite işlevi, her biri size uzunluğundaki öğelere count çıkışa buffer streamyazar. ile stream ilişkilendirilmiş dosya işaretçisi (varsa) yazma bayt fwrite sayısı kadar artırılır. Metin modunda açılırsa stream , her satır beslemesi bir satır başı satır besleme çifti ile değiştirilir. Değiştirmenin dönüş değeri üzerinde hiçbir etkisi yoktur.

stream Unicode çeviri modunda açıldığında(örneğin, stream , ccs=UTF-16LEveya ccs=UTF-8içeren ccs=UNICODEbir mod parametresi çağrılarak fopen ve kullanılarak açılırsa veya mod kullanılarak Unicode çeviri moduna _setmode değiştirilirse ve , _O_U16TEXTveya _O_U8TEXTiçerenbuffer bir mod parametresi _O_WTEXTUTF-16 verilerini içeren bir dizisinin wchar_t işaretçisi olarak yorumlanır. Bu modda tek sayıda bayt yazma girişimi parametre doğrulama hatasına neden olur.

Bu işlev çağıran iş parçacığını kilitlediğinden iş parçacığı güvenlidir. Kilitlenmeyen bir sürüm için bkz _fwrite_nolock. .

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

İşlev Gerekli başlık
fwrite <stdio.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

örneğine freadbakın.

Ayrıca bkz.

Akış G/Ç
_setmode
fread
_fwrite_nolock
_write