Escolar Documentos
Profissional Documentos
Cultura Documentos
Fundamentos1 SlidesC19 2008 09 25
Fundamentos1 SlidesC19 2008 09 25
Linguagem C
“Arquivos Binários”.
Slides 19
Prof. SIMÃO
Jean Marcelo SIMÃO
Arquivo de Escrita e Leitura
Binário
(Dados ‘Homogêneos’)
Arquivo (Binário) de Escrita e Leitura
/* copia um arquivo */ // Reposiciona o indicador de posiccao no inicio no arquivo.
#include <stdio.h> rewind ( entrada );
#include <stdlib.h>
// Arquivo destino
int main() printf ("Digite o nome do arquivo destino: \n");
{ gets ( nomearq2 );
FILE *entrada, *saida;
saida = fopen ( nomearq2, "w+b");
char ch; if ( saida == NULL )
char nomearq1[300], nomearq2[300]; {
printf ("O arquivo-destino nao pode ser aberto.");
printf ( "Programa para copiar arquivos. \n" ); system("Pause");
exit(1);
// Arquivo fonte }
printf ("Digite o nome do arquivo fonte: \n");
gets (nomearq1); // Esse codigo copia de fato o arquivo.
int main()
{
FILE* fp;
double d = 12.23;
int i = 101;
long l = 123023L;
if ( fp == NULL )
{
printf ( "O arquivo nao pode ser aberto. \n" );
system ( "Pause" );
exit (1);
}
rewind ( fp );
printf ("\n");
printf ("%f %d %ld \n", d, i, l);
fclose ( fp );
system ("Pause");
return 0;
}
Exemplo
Lista Postal
/* Um programa de lista postal muito simples */ int main()
{
#include <stdio.h> char escolha;
#include <ctype.h> inicia_lista();
#include <stdlib.h>
#include <string.h> for ( ;; )
{
#define TAM 2 escolha = menu();
switch (escolha)
struct Elemento {
{ case 'c':
case 'C': { cadastra(); } break;
char nome [100];
char rua [100]; case 'm':
char cidade [100]; case 'M': { mostra(); } break;
char estado [2];
char cep [10]; case 's':
case 'S': { salva(); } break;
};
case 'a':
struct Elemento Lista [TAM]; case 'A': { carrega(); } break;
if ( fp == NULL ) if ( fp == NULL )
{ {
printf ( "O arquivo nao pode ser aberto. \n" ); printf ( "O arquivo nao pode ser aberto. \n" );
return; return;
} }
} }
Exercício
• Naquele exercício de estruturas e ponteiros...
fazer com que os ‘registros’ (informações) do
funcionários possam ser gravados em um
arquivo, bem como recuperados do arquivo.