fwrite
Zapisuje dane w strumieniu.
Składnia
size_t fwrite(
const void *buffer,
size_t size,
size_t count,
FILE *stream
);
Parametry
buffer
Wskaźnik do zapisu danych.
size
Rozmiar elementu w bajtach.
count
Maksymalna liczba elementów do zapisania.
stream
Wskaźnik do FILE
struktury.
Wartość zwracana
fwrite
Zwraca liczbę pełnych elementów zapisywanych przez funkcję, która może być mniejsza niż count
w przypadku wystąpienia błędu. Ponadto, jeśli wystąpi błąd, nie można określić wskaźnika pozycji pliku. Jeśli albo stream
buffer
jest wskaźnikiem o wartości null, lub jeśli liczba nieparzysty bajtów do zapisania jest określona w trybie Unicode, funkcja wywołuje nieprawidłową procedurę obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, ta funkcja ustawia errno
wartość EINVAL
i zwraca wartość 0.
Uwagi
Funkcja fwrite
zapisuje maksymalnie count
elementy o size
długości od buffer
do danych wyjściowych stream
. Wskaźnik pliku skojarzony z stream
(jeśli istnieje) jest zwiększany przez liczbę zapisów bajtów fwrite
. Jeśli stream
jest otwarty w trybie tekstowym, każde źródło wiersza jest zastępowane parą zestawienia powrotnego karetki. Zamiana nie ma wpływu na wartość zwracaną.
Gdy stream
jest otwarty w trybie tłumaczenia Unicode — na przykład, jeśli stream
jest otwarty przez wywołanie fopen
i użycie parametru trybu, który zawiera ccs=UNICODE
, ccs=UTF-16LE
lub ccs=UTF-8
, lub jeśli tryb zostanie zmieniony na tryb tłumaczenia Unicode przy użyciu i _setmode
parametr trybu, który zawiera _O_WTEXT
, _O_U16TEXT
lub _O_U8TEXT
—buffer
jest interpretowany jako wskaźnik do tablicy zawierającej wchar_t
dane UTF-16. Próba zapisania nieparzysta liczby bajtów w tym trybie powoduje błąd walidacji parametru.
Ponieważ ta funkcja blokuje wątek wywołujący, jest bezpieczny wątkowo. Aby uzyskać wersję nieblokającą, zobacz _fwrite_nolock
.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek |
---|---|
fwrite |
<stdio.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
Zobacz przykład dla elementu fread
.