fwrite()

Записать в файл

Прототип:

#include <stdio.h>
size_t fwrite( const void *buf,
size_t size,
size_t num,
FILE *fp );

Аргументы:

buf
Указатель на буфер, содержащий элементы, которые планируется записать.
size
Размер каждого элемента для записи.
num
Количество элементов для записи.
fp
Поток, в который будут записаны элементы.

Библиотека:

libc

Описание:

Функция fwrite() записывает num элементов размера size байт в поток, определяемый fp.

Возвращаемое значение:

Количество элементов, успешно записанных в поток; при возникновении ошибки это значение меньше, чем num.

Коды ошибок:

При возникновении ошибки errno устанавливается в значение, характеризующее ошибку.

Примеры:

#include <stdio.h>
#include <stdlib.h>
struct student_data {
int student_id;
unsigned char marks[10];
};
int main( void )
{
FILE *fp;
struct student_data std;
int i;
fp = fopen( "file", "w" );
if ( fp != NULL )
{
std.student_id = 1001;
for ( i = 0; i < 10; i++ )
{
std.marks[i] = (unsigned char)( 85 + i );
}
/* write student record with marks */
i = fwrite( &std, sizeof( struct student_data ), 1, fp );
printf( "Successfully wrote %d records\n", i );
fclose( fp );
if ( i == 1 )
{
return (EXIT_SUCCESS);
}
}
return (EXIT_FAILURE);
}

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

errno, ferror(), fopen()




Предыдущий раздел: Описание API системной библиотеки