Функція fwrite () в C ++ записує вказану кількість символів у заданий вихідний потік.
прототип fwrite ()
size_t fwrite (const void * буфер, size_t size, size_t count, FILE * потік);
В fwrite()
запису функції розраховувати кількість об'єктів, кожен з розміру розміру байтів в заданому вихідному потоці.
Це схоже на виклик розміру fputc () для запису кожного об’єкта. Залежно від кількості записаних символів індикатор положення файлу збільшується. Отримане значення показника позиції файлу для потоку є невизначеним, якщо під час читання файлу виникає помилка.
- Якщо об’єкти не можна тривіально скопіювати, поведінка не визначена.
- Якщо розмір або кількість дорівнюють нулю, виклик до
fwrite
поверне нуль, і ніяких інших дій не виконується.
Це визначається у файлі заголовка.
Параметри fwrite ()
- буфер: вказівник на блок пам'яті, вміст якого записаний.
- size: Розмір кожного об’єкта в байтах.
- count: Кількість об’єктів для читання.
- потік: файловий потік для запису даних.
fwrite () Повернене значення
В fwrite()
Функція повертає кількість об'єктів , успішно лічені. Якщо виникає помилка, повернене значення може бути менше, ніж count.
Приклад 1: Як працює функція fwrite ()
#include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("data.txt","w"); retVal = fwrite(buffer,sizeof(buffer),1,fp); cout << "fwrite returned " << retVal; return 0; )
Коли ви запускаєте програму, вміст буфера буде записано у файл, а результат буде:
fwrite повернуто 1
Приклад 2: Як працює функція fwrite (), коли кількість або розмір дорівнює нулю
#include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("myfile.txt","w"); retVal = fwrite(buffer,sizeof(buffer),0,fp); cout << "When count = 0, fwrite returned " << retVal << endl; retVal = fwrite(buffer,0,1,fp); cout << "When size = 0, fwrite returned " << retVal << endl; return 0; )
Коли ви запускаєте програму, результат буде:
Коли count = 0, fwrite повертає 0 Коли size = 0, fwrite повертає 0