Работа с функцией fwrite в языке программирования C
Функция fwrite в языке программирования C используется для записи данных в бинарный файл. Она имеет следующий синтаксис:
c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
Где:
- `ptr` - указатель на блок памяти, из которого записываются данные.
- `size` - размер каждого элемента в байтах.
- `count` - количество элементов, которое нужно записать.
- `stream` - указатель на файловую переменную, представляющую открытый файл.
Функция записывает данные из блока памяти `ptr` в файл, на который указывает `stream`. Всего записывается `size * count` байтов данных из `ptr`.
Ниже приведен пример кода, иллюстрирующий использование функции fwrite:
c
#include
int main() {
int numbers[] = {1, 2, 3, 4, 5};
FILE *file = fopen("file.bin", "wb");
if (file != NULL) {
size_t elements_written = fwrite(numbers, sizeof(int), sizeof(numbers)/sizeof(int), file);
if (elements_written == sizeof(numbers)/sizeof(int)) {
printf("Записано %zu элементов\n", elements_written);
} else {
printf("Ошибка записи\n");
}
fclose(file);
} else {
printf("Не удалось открыть файл\n");
}
return 0;
}
В данном примере создается массив `numbers`, содержащий пять целых чисел. Затем открывается файл "file.bin" в режиме "wb" для записи в бинарном формате. Функция fwrite вызывается для записи всего массива `numbers` в файл. Выводится количество успешно записанных элементов, которое должно соответствовать размеру массива. Если произошла ошибка записи или не удалось открыть файл, выводится соответствующее сообщение.
Важно заметить, что функция fwrite работает только с бинарными файлами и не сохраняет форматирование данных.