Introdução à linguagem C - Parte IV
Nesta continuação da maravilhosa série sobre a linguagem C, apresentaremos o uso de arquivos textos e binários. Como declará-los? Como abrí-los? Como usá-los? São algumas das perguntas que teremos respondidas aqui!
Parte 5: Funções adicionais
int fflush(FILE *fd);
Quando usado em um fluxo de saída ele força o esvaziamento do buffer, quando usado em um fluxo de entrada o efeito é indefinido. Retorna o valor EOF em caso de erro.
int fseek(FILE *fd, long deslocamento, int flag);
Fseek é usado para deslocamento no arquivo especificado por fd("File Descritor" ou "Descritor de Arquivos"). Flag pode ser SEEK_SET, SEEK_CUR e SEEK_END. As flags mencionadas respectivamente fazem referência: ao início do arquivo, a posição do cursor e ao final do arquivo.
long ftell(FILE *fd);
Ftell retorna a posição que o cursor está no arquivo que fd indica. Retornando -1 do tipo long em caso de erro.
int fgetpos(FILE *fd, fpos_t *pos); e int fsetpos(FILE *fd, fpos_t *pos);
As duas funções acima podem substituir as duas anteriores. Fgetpos é usado para pegar ("get" no Inglês) a posição do cursor em "fd". A posição é guardada no pos que é do tipo fpos_t. Agora, quanto a fsetpos ela é usada para "setar" uma posição em "fd", ela pega a posição do parâmetro "pos" e o usa para setar a nova posição. Ambas funções retornam um valor diferente de zero em caso de erro e zero para sucesso.
int remove(const char *nomedoarquivo);
Essa função tenta remover o arquivo com o nome indicado pelo parâmetro "nomedoarquivo". Ela retorna um valor zero em caso de sucesso e um diferente para falha.
int rename(const char *nome, const char *nomenovo);
Rename serve para renomear um arquivo, sendo que o primeiro parâmetro é como ele é atualmente chamado e o segundo como ele será chamado no futuro. Se houver falhas retorna um número diferente de zero.
char *tmpnam(char *s);
Tmpnam é usado para gerar um nome que não é nenhum arquivo existente. Ela gera um nome diferente toda vez que for chamada. Assim, o que ele retorna é o nome gerado pela função.
FILE *tmpfile (void);
Tmpfile é usado para criar um arquivo temporário que quando fechado ou o programa terminar será destruído automaticamente pelo computador. O modo que esse arquivo será aberto será "wb+". Em caso de falha, tmpfile retornará NULL.