std:: fwrite
|
Definido en el encabezado
<cstdio>
|
||
|
std::
size_t
fwrite
(
const
void
*
buffer,
std::
size_t
size,
std::
size_t
count,
std::
FILE
*
stream
)
;
|
||
Escribe hasta count objetos binarios del arreglo dado buffer al flujo de salida stream . Los objetos se escriben como si reinterpretando cada objeto como un arreglo de unsigned char y llamando std::fputc size veces para cada objeto para escribir esos unsigned char s en stream , en orden. El indicador de posición de archivo para el flujo se avanza por el número de caracteres escritos.
Si los objetos no son TriviallyCopyable , el comportamiento es indefinido.
Si ocurre un error, el valor resultante del indicador de posición de archivo para el flujo es indeterminado.
ContenidosParámetros
Valor de retornoNúmero de objetos escritos correctamente, que será menor que Si Ejemplo
Ejecutar este código
#include <array> #include <cstdio> #include <vector> int main () { // escribir buffer al archivo if (std::FILE* f1 = std::fopen("file.bin", "wb")) { std::array<int, 3> v = {42, -1, 7}; // el almacenamiento subyacente de std::array es un array std::fwrite(v.data(), sizeof v[0], v.size(), f1); std::fclose(f1); } // leer los mismos datos e imprimirlos a la salida estándar if (std::FILE* f2 = std::fopen("file.bin", "rb")) { std::vector<int> rbuf(10); // el almacenamiento subyacente de std::vector también es un 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]); } } Salida: 42 -1 7 Véase también
| ||||||||||||||||||||