programação estruturada ii - bolinhabolinha.com · • nome da estrutura que representa um...

8
1 Programação Estruturada II Arquivos I/O Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha – [email protected] Ementa Depuração e Documentação interna Modularização. Uso de funções Por valor Por referência Ponteiros e suas aplicações Básico Uso avançado • Registros Básico Uso avançado de vetores e matrizes • Arquivos • Recursão

Upload: vuongque

Post on 30-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

1

Programação Estruturada II

Arquivos I/O

Prof. Rodrigo [email protected] http://www.bolinhabolinha.com

Apresentação Prof. Rodrigo Rocha – [email protected]

Ementa• Depuração e Documentação interna• Modularização. Uso de funções

Por valor Por referência

• Ponteiros e suas aplicações BásicoUso avançado

• Registros BásicoUso avançado de vetores e matrizes

• Arquivos• Recursão

2

Arquivos Biblioteca

• <stdio.h> As operações de I/O são realizadas em “Stream”

• “Stream” = seqüência de caracteres organizados em linhas

• Cada linha termina com um new line “\n”• Em ANSI, tamanho máximo = 254 caracteres

FILE• Nome da estrutura que representa um arquivo stream• Normalmente acessado via ponteiro *FILE

Definindo o ponteiro Definimos um ponteiro para ser usado no

acesso ao arquivo• FILE *ponteiro_arq;

• O ponteiro_arq recebe o endereço do descritor do arquivo

3

Funções de manipulação de arquivo

Abrindo arquivo Comando: fopen(nomearquivo,modo)

• NomedoarquivoNome do arquivo a ser aberto

• Modo “r” – abre arquivo texto para leitura “w” – abre arquivo texto para escrita “a” – abre arquivo texto para inserção (append) “rb” – abre arquivo binário para leitura “wb” – abre arquivo binário para escrita “ab” – abre arquivo binário para inserção (append)

Exemplo:• FILE *ponteiroarq;• ponteiroarq = fopen("teste.txt","r");

4

Fechando um arquivo fclose(*ponteiro)

• Fecha o arquivo aberto O arquivo é automaticamente fechado

quando sua aplicação termina

Exemplo:• FILE *ponteiroarq;• ponteiroarq = fopen("teste.txt","r");• fclose(ponteiroarq);

Métodos de Acesso Seqüencial

• Dados são lidos seqüencialmente

Randômico• A leitura e escrita pode ser de forma não linear

5

Lendo um caracter simples Função: fgetc(FILE *fp)

• Lê o próximo caractere • Incrementa o offset do arquivo automaticamente• Se sucesso, retorna o valor do caractere• Se falhar retorna EOF

Escrevendo no arquivo Função: fprintf(ponteiro,formatacao,variavel(is)) Similar ao printf, adicionando o parâmetro inicial que é o “ponteiro do

arquivo” Exemplo

• Lendo dados do teclado e gravando em arquivo até apertar o usuário apertar “enter”

6

Lendo caracteres Comando: fscanf(ponteiro,formatacao,variavel(is)) Similar ao scanf, somente adicionado um novo parâmetro na frente de

todos que é o nome do arquivo Se falhar retorna EOF

• EOF = final de arquivo O arquivo deve estar aberto para poder utilizar este comando

Reposicionando o ponteiro Para posicionar o ponteiro no inicio do

arquivo novamente• rewind(ponteiroarq);

7

Fwrite / fread Armazenar structs em arquivos binários Criando a struct

Gravando os dados

8

Lendo os dados

Bibliografia

Livro texto• MIZRAHI, Victorine Viviane. Treinamento em linguagem C : módulos 1 e 2

: PLT.. 1ª ed. São Paulo: Pearson Prentice Hall, 2007.• ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene A. V.i de.

Fundamentos da Programação de Computadores : algoritmos, pascal e

C/C++. 1ª ed. São Paulo: Pearson Education, 2003.• SCHILDT, Herbert. C Completo e Total. 3ª ed. São Paulo: Pearson

Education, 2005.

Complementar• 1) KERNIGHAN, Brian. C : a linguagem de programação. 3ª ed. Rio de

Janeiro: CAMPUS, 1986.• 2) HARBISON III, Samuel P.; STEELE/JR., Guy; HARTMANN, Savannah. C :

manual de referência. 1ª ed. Rio de Janeiro: Ciência Moderna, 2002.• 3) LOPES, Anita; GARCIA, Guto. Introdução à Programa. ç1ãªo ed. Rio de

Janeiro: CAMPUS, 2002.• 4) DAMAS, Luís. Linguagem C. 10ª ed. São Paulo: LTC, 2007.