C ++ fwrite () - Стандартная библиотека C ++

Функция fwrite () в C ++ записывает указанное количество символов в заданный выходной поток.

fwrite () прототип

 size_t fwrite (const void * buffer, size_t size, size_t count, FILE * stream);

В fwrite()записи функции рассчитывать количество объектов, каждый из размера размера байтов в заданном выходном потоке.

Это похоже на вызов fputc () size times для записи каждого объекта. Индикатор позиции файла увеличивается в соответствии с количеством записанных символов. Результирующее значение индикатора положения файла для потока не определено, если при чтении файла возникает какая-либо ошибка.

  • Если объекты нельзя просто скопировать, поведение не определено.
  • Если размер или счетчик равны нулю, вызов fwriteвернет ноль и никаких других действий не будет.

Это определено в заголовочном файле.

Параметры fwrite ()

  • буфер: указатель на блок памяти, содержимое которого записывается.
  • size: Размер каждого объекта в байтах.
  • count: количество объектов для чтения.
  • stream: файловый поток для записи данных.

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 (), когда значение count или size равно нулю

 #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

Интересные статьи...