std:: fwrite
|
Определено в заголовочном файле
<cstdio>
|
||
|
std::
size_t
fwrite
(
const
void
*
buffer,
std::
size_t
size,
std::
size_t
count,
std::
FILE
*
stream
)
;
|
||
Записывает до count бинарных объектов из заданного массива buffer в выходной поток stream . Объекты записываются таким образом, как если бы каждый объект переинтерпретировался как массив unsigned char и вызывалась функция std::fputc size раз для каждого объекта, чтобы записать эти unsigned char в stream , по порядку. Индикатор позиции в файле для потока продвигается на количество записанных символов.
Если объекты не являются TriviallyCopyable , поведение не определено.
Если возникает ошибка, результирующее значение индикатора позиции файла для потока становится неопределенным.
Содержание |
Параметры
| buffer | - | указатель на первый объект в массиве для записи |
| size | - | размер каждого объекта |
| count | - | количество объектов для записи |
| stream | - | выходной файловый поток для записи |
Возвращаемое значение
Количество успешно записанных объектов, которое может быть меньше count если произошла ошибка.
Если
size
или
count
равны нулю,
fwrite
возвращает ноль и не выполняет других действий.
Пример
#include <array> #include <cstdio> #include <vector> int main () { // запись буфера в файл if (std::FILE* f1 = std::fopen("file.bin", "wb")) { std::array<int, 3> v = {42, -1, 7}; // underlying storage of std::array is an array std::fwrite(v.data(), sizeof v[0], v.size(), f1); std::fclose(f1); } // чтение тех же данных и вывод на стандартный вывод if (std::FILE* f2 = std::fopen("file.bin", "rb")) { std::vector<int> rbuf(10); // underlying storage of std::vector is also an array std::size_t sz = std::fread(rbuf.data(), sizeof rbuf[0], rbuf.size(), f2); std::fclose(f2); for (std::size_t n = 0; n < sz; ++n) std::printf("%d\n", rbuf[n]); } }
Вывод:
42 -1 7
Смотрите также
|
(C++11)
|
выводит форматированный вывод в
stdout
, файловый поток или буфер
(функция) |
|
записывает строку символов в файловый поток
(функция) |
|
|
читает из файла
(функция) |
|
|
Документация C
для
fwrite
|
|