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

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

Ciência da Computação 1 PROGRAMAÇÃO ESTRUTURADA II Profª. Noeli.

Apresentações semelhantes


Apresentação em tema: "Ciência da Computação 1 PROGRAMAÇÃO ESTRUTURADA II Profª. Noeli."— Transcrição da apresentação:

1 Ciência da Computação 1 PROGRAMAÇÃO ESTRUTURADA II Profª. Noeli

2 CIÊNCIA DA COMPUTAÇÃO ARQUIVOS Cap 12 – modulo 2

3 CIÊNCIA DA COMPUTAÇÃO ARQUIVOS Um arquivo em disco é um espaço com diversas características físicas, dependendo do tipo de dispositivo que é usado (disquete, disco rígido, CD,...). Porém, um arquivo em disco, pode ser visto como um espaço sequencial (stream) onde são lido ou gravados os dados. A cada arquivo está associado um nome, pelo qual o mesmo é conhecido externamente, isto é, o nome que consta no diretório do disco.

4 CIÊNCIA DA COMPUTAÇÃO ARQUIVOS Existem dois tipos de arquivos: Arquivos de Texto; Arquivos Binários;

5 CIÊNCIA DA COMPUTAÇÃO ARQUIVOS DE TEXTO Onde são gravados apenas os caracteres como se fosse no vídeo e de onde são lidos caracteres como se estivessem sendo digitados no teclado. Por exemplo: Os programas fonte (nomedoprograma.c) que são digitados, são exemplos de arquivos de texto. Um arquivo texto pode ser visualizado com editor de texto (word, wordpad ou o próprio editor do compilador c).

6 CIÊNCIA DA COMPUTAÇÃO ARQUIVOS BINÁRIOS Onde são gravados os dados como estão na memória. Por exemplo: Uma variável inteira é gravada com 4 bytes com o conteúdo exato que está na memória. Não é possível ver o conteúdo de um arquivo binário usando um editor de texto. Para isso é necessário ler o arquivo e imprimí-lo no vídeo com printf, por exemplo.

7 CIÊNCIA DA COMPUTAÇÃO ARQUIVOS O sistema de entrada e saída do ANCI C é 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 conceito de arquivo. Este não é um tipo propriamente dito, mas uma definição usando o comando typedef. Esta definição também está na biblioteca stdio.h.

8 CIÊNCIA DA COMPUTAÇÃO DECLARAÇÃO DE ARQUIVOS Podemos declarar um ponteiro de arquivo da seguinte maneira: FILE *p; p será então um ponteiro para um arquivo. É usando este tipo de ponteiro que vamos poder manipular arquivos em C.

9 CIÊNCIA DA COMPUTAÇÃO ABERTURA DE ARQUIVOS Fopen() - file open Função de abertura de arquivos. Seu protótipo é: FILE *fopen (char *nome_do_arquivo, char *modo); O nome_do_arquivo determina qual arquivo deverá ser aberto. O modo de abertura diz à função fopen() que tipo de uso você vai fazer do arquivo.

10 CIÊNCIA DA COMPUTAÇÃO ABERTURA DE ARQUIVOS COMO É ABERTO O ARQUIVO PROGRAMA C Nome do arquivo ler, gravar, etc. SISTEMA OPERACIONAL DISCO Ponteiro para FILE

11 CIÊNCIA DA COMPUTAÇÃO ABERTURA DE ARQUIVOS Exemplo: FILE *arq; arq = fopen("C:\\teste.txt","w"); Caminho e Nome do arquivo Modo de Abertura

12 TABELA DE MODOS ModoSignificado rAbre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto. wAbrir 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. aAbrir 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. rbAbre um arquivo binário para leitura. Igual ao modo r anterior, só que o arquivo é binário. wbCria um arquivo binário para escrita, como no modo w anterior, só que o arquivo é binário. abAcrescenta 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.

13 TABELA DE MODOS ModoSignificado 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 existir anteriormente. r+bAbre um arquivo binário para leitura e escrita. O mesmo que r+ acima. Só que o arquivo é binário. w+bCria um arquivo binário para leitura e escrita. O mesmo que w+ só que o arquivo é binario. a+bAcrescenta dados ou cria um arquivo binário para leitura e escrita. O mesmo que a+ acima, só que o arquivo é binário.

14 CIÊNCIA DA COMPUTAÇÃO FUNÇÃO exit() Para utiliza-la deve-se colocar um include para o arquivo de cabeçalho stdlib.h. Esta função aborta a execução do programa. Pode ser chamada de qualquer ponto do programa e faz com que o programa termine e retorne, para o sistema operacional, o código_de_retorno. A função exit() se torna importante em casos em como alocação dinâmica e abertura de arquivos pois nestes casos, se o programa não conseguir a memória necessária ou abrir o arquivo, a melhor saída pode ser terminar a execução do programa.

15 CIÊNCIA DA COMPUTAÇÃO FECHAMENTO DE ARQUIVOS fclose() – file close Quando acabamos de usar um arquivo que abrimos, devemos fechá-lo. Para tanto se usa a função fclose(): int fclose (FILE * arq); O ponteiro arq passado à função fclose() determina o arquivo a ser fechado. A função retorna zero no caso de sucesso.

16 EXEMPLO 1 #include void main() { FILE *arq; arq = fopen("C:\\teste.txt","w"); if( !arq ) { printf("Falha ao criar o arquivo!!!\n\n"); exit(1); } else { printf("Arquivo criado com sucesso!!!\n\n"); } if (fclose(arq) == 0) printf("Arquivo fechado com sucesso!!!\n\n"); system("PAUSE"); }

17 CIÊNCIA DA COMPUTAÇÃO ESCRITA EM ARQUIVOS - fputs() A função fputs escreve caracteres em um arquivo que foi previamente aberto para escrita. Seu protótipo é: fputs(palavra, arquivo)

18 #include void main() { char str[80]; FILE *fp; fp = fopen("C:\\TESTE.txt", "a+"); if(fp ==NULL) { printf("arquivo nao pode ser aberto\n"); exit(1); } do { printf("entre uma string (ENTER para sair):\n"); gets(str); strcat(str, "\n"); /* acrescenta uma nova linha */ fputs(str, fp); } while(*str!='\n'); system("PAUSE"); } EXEMPLO 2

19 CIÊNCIA DA COMPUTAÇÃO LEITURA EM ARQUIVOS fgets() Lê uma cadeia de caracteres em um arquivo, até que seja encontrado um caractere de nova linha ou até que o tamanho da string – 1 (menos um) tenham sido lidos: fgets(string, tamanho_string,arquivo)

20 EXEMPLO 3 #include void main(void) { char str[80]; FILE *fp; if((fp = fopen("c:\\TEST.txt", "a+"))==NULL) { printf("arquivo nao pode ser aberto\n"); exit(1); } do { printf("entre uma string (CR para sair):\n"); gets(str); strcat(str, "\n"); /* acrescenta uma nova linha */ fputs(str, fp); } while(*str!='\n'); rewind(fp); /* reinicializa o indicador de posiçao de arquivo*/ while(!feof(fp)) { fgets(str, 79, fp); printf(%s,str); } fclose(fp); system("PAUSE");}

21 CIÊNCIA DA COMPUTAÇÃO LEITURA EM ARQUIVOS feof() (End fo File) indica o fim do arquivo. Ás vezes é necessário verificar se um arquivo chegou ao fim. Podemos verificar se o final do arquivo foi atingido feof(arquivo)


Carregar ppt "Ciência da Computação 1 PROGRAMAÇÃO ESTRUTURADA II Profª. Noeli."

Apresentações semelhantes


Anúncios Google