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 stream
buffer
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í errno
EINVAL
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-16LE
nebo 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_U16TEXT
nebo _O_U8TEXT
—buffer
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