A função fwrite () em C ++ grava um número especificado de caracteres no fluxo de saída fornecido.
protótipo fwrite ()
size_t fwrite (const void * buffer, size_t size, size_t count, FILE * stream);
A fwrite()
função grava o número de contagem de objetos, cada um com bytes de tamanho de tamanho para o fluxo de saída fornecido.
É semelhante a chamar fputc () size times para gravar cada objeto. De acordo com o número de caracteres escritos, o indicador de posição do arquivo é incrementado. O valor resultante do indicador de posição do arquivo para o fluxo é indeterminado se ocorrer algum erro durante a leitura do arquivo.
- Se os objetos não forem trivialmente copiáveis, o comportamento será indefinido.
- Se o tamanho ou a contagem for zero, uma chamada para
fwrite
retornará zero e nenhuma outra ação será executada.
É definido no arquivo de cabeçalho.
Parâmetros fwrite ()
- buffer: Ponteiro para o bloco de memória cujo conteúdo é escrito.
- tamanho: tamanho de cada objeto em bytes.
- contagem: o número de objetos a serem lidos.
- stream: O stream de arquivo para gravar os dados.
fwrite () Valor de retorno
A fwrite()
função retorna o número de objetos lidos com sucesso. Se ocorrer um erro, o valor de retorno pode ser menor que count.
Exemplo 1: como a função fwrite () funciona
#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; )
Quando você executa o programa, o conteúdo do buffer será gravado no arquivo e a saída será:
fwrite retornou 1
Exemplo 2: como a função fwrite () funciona quando a contagem ou o tamanho é zero
#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; )
Quando você executa o programa, a saída será:
Quando count = 0, fwrite retornou 0 Quando size = 0, fwrite retornou 0