Fread e fwrite
As funções fread e fwrite são empregadas para leitura e escrita de dados em modo binário. Os protótipos das funções são: size_t fread (void *ptr, size_t size, size_t nmemb, FILE *parq);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *parq);
A função fread lê nmemb objetos, cada um com size bytes de comprimento do fluxo apontado por stream e os coloca na localização apontada por ptr. fread retorna o número de itens que foram lidos com sucesso. Caso ocorra um erro, ou o fim do arquivo foi atingido o valor de retorno é menor do que nmemb ou zero. Esta função não distingue entre um fim de arquivo e erro, portanto é aconselhavel o uso de feof() ou ferror() para determinar que erro ocorreu.
A função fwrite escreve nmemb elementos de dados, cada um com size bytes de comprimento, para o fluxo apontado por stream obtendo-os da localização apontada por ptr. fwrite retorna o número de itens que foram lidos com sucesso. Caso ocorra um erro, ou o fim do arquivo foi atingido o valor de retorno é menor do que nmemb ou zero.
PONTEIRO DE ARQUIVO
O ponteiro de arquivo contém um ponteiro de posição para controlar sua posição atual dentro do arquivo.
Quando abre-se um arquivo para operações de leitura ou gravação, o sistema operacional define o ponteiro da posição no início do arquivo.
É possível determinar o valor do ponteiro de posição usando a função ftell(), que retorna um valor inteiro longo que especifica o byte de deslocamento à partir da posição atual no arquivo especificado fseek Procuras e acessos randômicos em arquivos. Esta move a posição corrente de leitura ou escrita no arquivo de um valor especificado, a partir de um ponto especificado.
Protótipo: int fseek (FILE *fp, long numbytes, int origem);
• Parâmetro 1: "FILE *fp" - arquivo a ser manipulado.
• Parâmetro 2: "long numbytes" - indica quantos bytes o cursor de posição do arquivo será movimentado apartir da sua