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
stream
yazar. 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-16LE
veya ccs=UTF-8
içeren ccs=UNICODE
bir 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_U16TEXT
veya _O_U8TEXT
içerenbuffer
bir mod parametresi _O_WTEXT
UTF-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 fread
bakın.