Академический Документы
Профессиональный Документы
Культура Документы
E com registros?
Registros
Exemplo leitura...:
typedef struct {
char nome[20];
float media;
}tipo_aluno;
tipo_aluno a;
tipo_aluno vet[100];
fread(&a,sizeof(tipo_aluno),1,f);
//lendo um registro;
fread(&vet,sizeof(tipo_aluno),100,f); /
/lendo o vetor todo
fread(&vet,sizeof(vet),1,f); //lendo o
vetor todo;
Registros
Exemplo escrita:
typedef struct {
char nome[20];
float media;
}tipo_aluno;
tipo_aluno a;
tipo_aluno vet[100];
fwrite(&a,sizeof(tipo_aluno),1,f); //escrevendo
um registro;
fwrite(&vet,sizeof(tipo_aluno),100,f); //
escrevendo o vetor todo
fwrite(&vet,sizeof(vet),1,f); // escrevendo o
vetor todo;
_Funo:
fseek (ponteiro_para_arquivo,
posicao_relativa, marcao);
fseek(f, 2 * sizeof(tipo_Reg_aluno),
SEEK_SET);
//posiciono o ponteiro no segundo registro
fread(&aux, sizeof(tipo_Reg_aluno), 1, f);
//leio o registro e guardo em aux
aux.RA = 61122; //altero o ra do aluno
fseek(f, 2 * sizeof(tipo_Reg_aluno), SEEK_SET);
//posiciono o ponteiro denovo no registro
fwrite(&aux, sizeof(tipo_Reg_aluno), 1, f);
//Sobrescrevo o registro atualizado no arquivo
fclose(f); //fecho o arquivo
Exerccio 1
Exerccio 1
// --------------------funo eh
primo-----------------------------------------int ehprimo (int n){ // n o parmetro de
entrada
int resto,i, primo=1; //define primo como
verdadeiro
for (i=2;i<n;i++){ // divide o n por todos os
anteriores
resto = n % i;
if (resto == 0)
primo=0;
} if (
primo)
return 1; // retorna verdadeiro, primo
else
return 0; // retorna falso, no primo
} //------------------------------------------------------------------------------
Exerccio 2
MC-102
Algoritmos e
Programao
de Computadores
Prof. Ariel Vargas
Unicamp
Arquivos Binrios
Arquivos
_ Arquivos Texto
_ Podem ser manipulados por um
editor de texto comum
_ Os dados so gravados como
caracteres de 8 bits (1
byte). Ex:
_ O nmero 12345678 ocupa 8 bytes, ou seja,
64 bits
_ Arquivos Binrios
_ Dados so gravados na forma binria
_ Costumam ser mais compactos. Ex:
_ O nmero 12345678 ocupa 4 bytes
(considerado-se uma
mquina na qual um nmero inteiro
representado por 32
bits)
Arquivos Binrios
_ Para abrir e fechar uma arquivo
binrio usa-se, da mesma
forma, as funes: (no muda nada!!!)
_ Abrir um arquivo:
_ ponteiro_para_arquivo = fopen
(nome_arquivo, modo_abertura);
_ Fechar um arquivo:
_ fclose (ponteiro_para_arquivo);
Arquivos Binrios
_ Alguns modos de abertura: (tem um
b agora)
endereco_memoria, tamanho_tipo_de_dado,
numero_elementos, ponteiro_para_arquivo
Arquivos Binrios
Ler dados de um arquivo binrio:
fread (endereco_da_variavel,
tamanho_tipo_de_dado,
numero_elementos,
ponteiro_para_arquivo);
Ex:
Int n;
Arquivos Binrios
Escrever dados em um arquivo binrio:
fwrite (endereco_da_variavel,
tamanho_tipo_de_dado,
numero_elementos,
ponteiro_para_arquivo);
Ex:
Int n = 10;