Sdílet prostřednictvím


fwrite

Zapisuje data do datového proudu.

Syntaxe

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

Parametry

buffer
Ukazatel na data, která se mají zapsat.

size
Velikost položky v bajtech

count
Maximální počet položek, které se mají zapsat.

stream
Ukazatel na FILE strukturu.

Vrácená hodnota

fwrite vrátí počet celých položek, které funkce zapisuje, což může být menší než count v případě, že dojde k chybě. Pokud dojde k chybě, nelze určit indikátor pozice souboru. Pokud je streambuffer v režimu Unicode zadán lichý počet bajtů, nebo je-li v režimu Unicode zadán lichý počet bajtů, vyvolá funkce neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, tato funkce nastaví errnoEINVAL hodnotu 0 a vrátí hodnotu 0.

Poznámky

Funkce fwrite zapisuje až položky count o size délce od buffer výstupu stream. Ukazatel souboru přidružený stream (pokud existuje) se zvýší o počet zápisů fwrite bajtů. Pokud stream je otevřený v textovém režimu, nahradí se každé odřádkování dvojicí návratového kanálu na začátek řádku. Nahrazení nemá žádný vliv na vrácenou hodnotu.

Při stream otevření v režimu překladu Unicode , například pokud stream je otevřen voláním fopen a použitím parametru režimu, který zahrnuje ccs=UNICODE, ccs=UTF-16LEnebo ccs=UTF-8, nebo pokud je režim změněn na režim překladu Unicode pomocí _setmode a parametr režimu, který obsahuje _O_WTEXT, _O_U16TEXTnebo _O_U8TEXTbuffer je interpretován jako ukazatel na pole wchar_t obsahující data UTF-16. Pokus o zápis lichého počtu bajtů v tomto režimu způsobí chybu ověření parametru.

Vzhledem k tomu, že tato funkce uzamkne volající vlákno, je bezpečné pro přístup z více vláken. Informace o nezamykání verze najdete v tématu _fwrite_nolock.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Function Požadovaný hlavičkový soubor
fwrite <stdio.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

Podívejte se na příklad pro fread.

Viz také

Vstupně-výstupní operace streamu
_setmode
fread
_fwrite_nolock
_write