A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior

Apresentações semelhantes


Apresentação em tema: "Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior"— Transcrição da apresentação:

1 Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior marco.antonio@aes.edu.br

2 Definição de tipos O comando typedef permite ao programador definir um novo nome para um determinado tipo de dado. Sua sintaxe é: typedef antigo_nome novo_nome; Exemplo: Criar um novo tipo, chamado inteiro para definir o tipo int: typedef int inteiro;

3 Definição de tipos O comando typedef também pode ser utilizado para dar nome a tipos complexos, como por exemplos as estruturas. Exemplo: typedef struct endereco { char rua [50]; int numero; char bairro [20]; char cidade [30]; } TEndereco; main() { TEndereco *end;... }

4 I/O O sistema de entrada e saída (I/O) da linguagem C ANSI é composto por uma série de funções, cujos protótipos estão reunidos em stdio.h. Todas estas funções trabalham com o conceito de "ponteiro de arquivo". Este não é um tipo propriamente dito, mas uma definição usando o comando typedef.

5 I/O Podemos declarar um ponteiro de arquivo da seguinte maneira: FILE *p; Onde FILE é a estrutura que contém informações específicas sobre o arquivo (tamanho, nome etc.) p é um ponteiro para um arquivo que manipularemos em Linguagem C.

6 I/O - Funções Existem diversas funções para manipulação de arquivos, entre elas: fopen()fclose()putc() fputc()getc()fgetc() fseek()fprintf()fscanf() feof()ferror()rewind() remove()fflush()

7 I/O - fopen Esta função é utilizada para abertura de arquivos. Seu protótipo é: FILE *fopen (char *nome_do_arquivo, char *modo_de_abertura); onde: *nome_do_arquivo: representa o nome do arquivo que será aberto (para leitura ou gravação) *modo_de_abertura: define o tipo de abertura do arquivo que pode ser: r – leitura w – escrita a- adicionar dados além de 2 modificadores: + – atualização b – modo binário

8 I/O - fopen Modos de abertura de arquivo: ModoSignificado "r"Abre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto. "w" Abrir um arquivo texto para gravação. Se o arquivo não existir, ele será criado. Se já existir, o conteúdo anterior será destruído. "a" Abrir um arquivo texto para gravação. Os dados serão adicionados no fim do arquivo ("append"), se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente. "rb"Abre um arquivo binário para leitura. Igual ao modo "r" anterior, só que o arquivo é binário. "wb"Cria um arquivo binário para escrita, como no modo "w" anterior, só que o arquivo é binário. "ab"Acrescenta dados binários no fim do arquivo, como no modo "a" anterior, só que o arquivo é binário. "r+"Abre um arquivo texto para leitura e gravação. O arquivo deve existir e pode ser modificado. "w+" Cria um arquivo texto para leitura e gravação. Se o arquivo existir, o conteúdo anterior será destruído. Se não existir, será criado. "a+" Abre um arquivo texto para gravação e leitura. Os dados serão adicionados no fim do arquivo se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente. "r+b"Abre um arquivo binário para leitura e escrita. O mesmo que "r+" acima, só que o arquivo é binário. "w+b"Cria um arquivo binário para leitura e escrita. O mesmo que "w+" acima, só que o arquivo é binário. "a+b"Acrescenta dados ou cria um arquivo binário para leitura e escrita. O mesmo que "a+" acima, só que o arquivo é binário

9 I/O - fopen Exemplo: FILE *fp; if ((fp = fopen(teste.txt, w)) == NULL) { printf(Erro ao tentar abrir o arquivo!); exit(1); } Caso ocorra algum erro com a função fopen, é retornado NULL.

10 I/O - fclose Após utilizar o arquivo que abrimos, devemos fechá-lo. Para isso utiliza-se a função fclose(): Sintaxe: int fclose (FILE *fptr); O ponteiro fptr passado à função fclose() determina o arquivo a ser fechado. A função retorna zero no caso de sucesso.

11 I/O - feof EOF ("End of file") indica o fim de um arquivo. A necessidade de verificar se um arquivo chegou ao fim, muitas vezes é necessária. Para isto podemos utilizar a função feof(), que retorna: qualquer valor diferente de zero (verdadeiro), caso tenha chegado ao seu final; caso contrário retorna zero. Seu protótipo é: int feof (FILE *fp);

12 I/O – getc e putc Para ler e escrever um caractere por vez, utilizamos as funções getc() e putc(), respectivamente Protótipos: int getc (FILE *fptr); onde: fptr – corresponde ao ponteiro do arquivo a ser lido int putc (int ch, FILE *fptr); onde: ch – caractere a ser armazenado fptr – corresponde ao ponteiro do arquivo a ser gravado

13 I/O – fread - fwrite Podemos também ler e escrever blocos de dados. Para isso, utilizamos as funções fread() e fwrite() Protótipos: unsigned fread (void *buffer, int tam, int qtde, FILE *fptr); onde: buffer – ponteiro do tipo void para o endereço da memória onde serão armazenados os dados lidos tam – tamanho em bytes do tipo de dados a ser lido qtde – quantidade de itens a serem lidos fptr – corresponde ao ponteiro do arquivo a ser lida

14 I/O – fread - fwrite unsigned fwrite(void *buffer,int tam,int qtd,FILE *fptr); onde : buffer – ponteiro do tipo void para o endereço da memória do dado a ser armazenado tam – tamanho em bytes do tipo de dados a ser armazenado qtde – quantidade de itens a serem gravados fptr – corresponde ao ponteiro do arquivo a ser gravado

15 Exercícios Fazer um programa em linguagem C que escreva um arquivo texto utilizando a função putc(). Os caracteres a serem escritos devem ser obtidos do teclado. Modifique o programa anterior de modo que seja possível ler as informações do arquivo gravado, através da função getc(). Esse programa deverá ter um menu, no qual o usuário escolhe se quer gravar dados ou ler os dados.

16 Exercícios Fazer um programa em linguagem C (chamado copia) que deverá ler um arquivo e copiar seu conteúdo para um outro arquivo. Os arquivos deverão ser abertos da seguinte forma: Arquivo origem: abertura para leitura em modo binário Arquivo destino: Abertura para escrita em modo binário. Utilizar a função feof() para determinar o final do arquivo.

17 Exercícios Fazer o programa chamado procurar, em linguagem C que, receba via linha de comando: Nome do arquivo posição (em bytes) que será lida do arquivo exemplo: procurar nomearq byte O programa deve usar a função seek() para posicionar o arquivo no byte especificado, ler tal byte e imprimi-lo na forma de um caractere.

18 Exercícios Escreva um programa que leia uma lista de nomes e idades de um arquivo texto, no seguinte formato: Nome(1) Idade(1)... Nome(n) Idade(n) Apresente os dados lidos em forma de tabela na tela.


Carregar ppt "Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior"

Apresentações semelhantes


Anúncios Google