Modelo de slides

download Modelo de slides

If you can't read please download the document

Transcript of Modelo de slides

2. Arquivos Podem armazenar grande quantidade deinformao; Dados so persistentes (gravados em disco). 3. Tipos de Arquivos Texto Armazena caracteres que podem ser mostradosdiretamente na tela ou modificados por um editorde textos simples. Conhecido por arquivo seqencial. Tipo especial de arquivo que pode ser editadonormalmente atravs de um editor de textosqualquer. dito seqencial porque a leitura tem que serfeita seqencialmente do incio ao fim do arquivo. 4. Tipos de Arquivos Binrio Seqncia de bits sujeita s convenes dosprogramas que o gerou. Conhecido por Arquivo randmico, ou de acessoaleatrio. possvel buscar uma determinada informao emqualquer posio, sem necessidade de percorrer todo oarquivo at alcanar a informao desejada. O acesso a informao direto. Exemplos: Arquivos executveis, arquivos compactados, arquivosde registros. 5. Manipulao de Arquivos Passos: Criar um ponteiro para a estrutura FILE (definidaem stdio.h) Abrir o arquivo. Ler ou gravar dados no arquivo. Fechar o arquivo. 6. Escrita de Arquivo Texto#include int main() {FILE *arq;arq = fopen("teste1.txt", "w");fprintf(arq, "Ola, Mundo!!!n");fclose(arq);return 0;} 7. Leitura de Arquivo Texto#include int main() {FILE *arq;char c;arq = fopen("teste.txt", "r");c = getc(arq);while (c != EOF) {printf("%c", c);c = getc(arq);}fclose(arq);return 0;} 8. Somatrio dos nmeros de um arquivo#include int main() {FILE *arq;int numero, soma = 0;arq = fopen("numeros.txt", "r");while (fscanf(arq, "%d", &numero) != EOF) {soma = soma + numero;}printf("A soma e: %dn", soma);fclose(arq);return 0;} 9. Funes fopen("nome", "modo") Abre um arquivo e retorna um ponteiro para ele. Caso no consiga abrir o arquivo, retorna NULL. fprintf(fp, "formato", arg1, ...) Escreve para um arquivo fclose(fp) Fecha um arquivo getc(fp) Obtm um caractere. fscanf(fp, "formato", arg1, ...) L de um arquivo. fwrite(*prt, tamanho_bloco , n, fp) Escreve n blocos de *ptr para o arquivo. 10. Funes fread(*ptr, tamanho_bloco, n, fp) fseek(fp, posicao, modo) Altera a posio no arquivo. Deslocamento relativo ao: SEEK_SET incio do arquivo SEEK_CUR ponto inicial SEEK_END final do arquivo fflush(fp) Realiza a gravao efetiva do arquivo ftell(fp) Indica a posio corrente do ponteiro do arquivo. 11. Modos de Operao 12. Salvando uma estrutura#include #include struct pessoa {char nome[50];int idade;};typedef struct pessoa Pessoa;int main() {FILE *arq;arq = fopen("pessoas.txt", "ab");Pessoa p;printf("Digite um nome: ");gets(p.nome);printf("Digite a idade: ");scanf("%d", &p.idade);fwrite(&p, sizeof(Pessoa), 1, arq);fclose(arq);return 0;} 13. Lendo todo o arquivo#include #include struct pessoa {char nome[50];int idade;};typedef struct pessoa Pessoa;int main() {FILE *arq;arq = fopen("pessoas.txt", "rb");Pessoa p;while(fread(&p, sizeof(Pessoa), 1, arq) != 0) {printf("Nome: %s - Idade: %dn", p.nome, p.idade);}fclose(arq);return 0;}