O tipo file é uma estrutura declarada no arquivo stdio.h, cujos elementos são informações sobre o arquivo que está sendo acessado. Algumas dessas informações são: status do arquivo, endereço do buffer para transferência de dados, posição corrente do ponteiro etc. Declaração FILE * p; p será este ponteiro que vamos poder manipular os arquivos em C. Função fopen() função de abertura de arquivos. protótipo FILE *fopen (char * nome_arquivo, char * modo) O nome do arquivo determina qual arquivo deverá ser aberto. Este nome deve ser válido no sistema operacional sendo utilizado.retorna NULL no caso de falha na abertura. O modo de abertura diz a função fopen() que tipo de uso você vai fazer do arquivo. São três modos possíveis: "r"- somente para leitura "w"- arquivo para escrita "a"- arquivo para gravação, caso já exista conteúdo, será adicionado no final do arquivo. Se acresentarmos "b" ou "t", junto ao modo de abertura, o arquivo abrirá em modo binário ou texto respectivamente. Ex: FILE * fp; fp=fopen("exemplo.bin","wb"); if (!fp) printf("Erro na abertura doa rquivo"); A função fclose Quando acabamos de usar um arquivo que abrimos devemos fechá-lo. Protótipo fclose (< nome_ponteiro >); fclose (FILE * fp); O ponteiro fp passado a função fclose() determina o arquivo a ser fechado.Retorna zero no caso de sucesso. Lendo e escrevendo em arquivos fprintf() Esta função funciona como o printf(), a diferença é que a saída é em um arquivo e não na tela do computador. Protótipo int fprintf(FILE *fp, char *str) fprintf(fp,"expressão de controle",arg1,arg2); fscanf() Lê de um arquivo, ou do teclado, neste caso, utiliza-se o comando stdin. Protótipo int fscanf(FILE *fp, char *str); fscanf(fp, "expressão de controle",end1,end2); /* leitura de uma arquivo*/ Ou, fscanf(stdin, "expressão de controle",end1,end2); /* leitura do teclado*/ Ex: FILE *fp; int i=2; float x=3; fp=fopen("saida.c","w"). fprintf(fp,"%d%f\n",i,x); fscanf(fp,"%d %f", &i,&x); fclose(fp); O comando feof indica o fim do arquivo.Retorna não zero se o arquivo chegou ao fim. |