C ++ fwrite () - Biblioteca padrão C ++

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 fwriteretornará 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

Artigos interessantes...