Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
LINGUAGEM DE PROGRAMAÇÃO I Aula 9- Armazenando para preservar - 1a parte Atenção aos Temas Principais dessa Aula Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Conteúdo Programático desta aula Identificar os modos de abertura de um arquivo; Conhecer e usar as funções fopen(), fclose(), feof(); Conhecer e usar as funções fputc(0, fgetc(), fputs(), fgets(), fprintf(), fscanf() e sscanf() para trabalhar no modo texto; Analisar trechos de gravação, leitura e consulta em arquivos no modo texto. Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Direto ao Assunto Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Variável Ponteiro de Arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I FILE *arq; Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I ARQUIVO TEXTO Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I ARQUIVO TEXTO ARQUIVO BINÁRIO Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Como vou saber se é um arquivo texto ou um arquivo binário? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Pelo modo de abertura que está presente na função que abre o arquivo externo. Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que abre um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Modo de Abertura Breve Descrição Permite Leitura Permite Gravação Arquivo Não Existe Arquivo Existe Posição r Leitura SIM NÃO NULL OK Início w Escrita NÃO SIM CRIA ReCRIA Início a Acrescenta NÃO SIM CRIA OK Fim r+ Leitura/ Escrita SIM SIM NULL Permite Alteração Início W+ Leitura/ Escrita SIM SIM CRIA ReCRIA Início a+ Leitura/ Escrita SIM SIM CRIA Permite Acréscimo Fim Retirada do livro de DAMAS, L, p. 232-233 Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Trecho de Abertura de um Arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Trecho de Abertura de um Arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Trecho de Abertura de um Arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que fecha um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que fecha um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que fecha um arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que detecta o fim do arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que detecta o fim do arquivo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que detecta o fim do arquivo Trecho de repetição controlado por feof() Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função que detecta o fim do arquivo Trecho de repetição controlado por feof() Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravar ou ler um caracter Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravar ou ler um caracter Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravar ou ler um caracter Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include<stdio.h> #include<stdlib.h> int main () { char caracter; FILE *arq; if (( arq = fopen("texto.txt", "a")) == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\nDigite o texto e, para finalizar, "); printf("enter e CTRL Z/Windows(CTRL D/LINUX)\n"); caracter = getchar(); while (!feof(stdin)) { fputc(caracter, arq); caracter = getchar(); } fclose(arq); } printf("\n\n"); system("pause"); } Gravando caracter Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include<stdio.h> #include<stdlib.h> int main () { char caracter; FILE *arq; if (( arq = fopen("texto.txt", "a")) == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\nDigite o texto e, para finalizar, "); printf("enter CTRL Z enter/ Windows(CTRL D/LINUX)\n“ ); caracter = getchar(); while (!feof(stdin)) { fputc(caracter, arq); caracter = getchar(); } fclose(arq); } printf("\n\n"); system("pause"); } Gravando caracter Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include<stdio.h> #include<stdlib.h> int main () { char caracter; FILE *arq; if (( arq = fopen("texto.txt", "r")) == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\n**O texto**\n"); caracter = fgetc(arq); while ( !feof(arq) ) { putchar(caracter); caracter = fgetc(arq); } fclose(arq); } printf("\n\n"); system("pause"); } Lendo caracter Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include<stdio.h> #include<stdlib.h> int main () { char caracter; FILE *arq; if (( arq = fopen("texto.txt", "r")) == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\n**O texto**\n"); caracter = fgetc(arq); while ( !feof(arq) ) { putchar(caracter); caracter = fgetc(arq); } fclose(arq); } printf("\n\n"); system("pause"); } Lendo caracter Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravar ou ler uma linha Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravar ou ler uma linha Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravar ou ler uma linha Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { FILE *fp; char s[80]; fp=fopen("nomeIdade.txt","a"); if (fp == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\nNome Idade ou # para sair: "); while(strcmp(fgets(s,80,stdin),"#\n")!=0) fputs(s,fp); fclose(fp); } system("pause"); } Gravando linha Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { FILE *fp; char s[80]; fp=fopen("nomeIdade.txt","a"); if (fp == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\nNome Idade ou # para sair: "); while(strcmp(fgets(s,80,stdin),"#\n")!=0) fputs(s,fp); fclose(fp); } system("pause");} Gravando linha Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char s[80]; fp=fopen("nomeIdade.txt","r"); if (fp == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\nNome/Idade\n"); while(fgets(s,80,fp) !=NULL) printf("%s",s); fclose(fp); } system("pause"); } Lendo linha Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include <stdio.h> #include <stdlib.h> int main() { FILE *fp; char s[80]; fp=fopen("nomeIdade.txt","r"); if (fp == NULL) printf("\nArquivo NAO pode ser aberto\n"); else { printf("\nNome/Idade\n"); while(fgets(s,80,fp) !=NULL) printf("%s",s); fclose(fp); } system("pause"); } Lendo linha Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravação e leitura formatadas Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravação e leitura formatadas Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Funções para gravação e leitura formatadas Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Função para leitura formatada Alternada com Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Alternada com X Função para leitura formatada Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Sugestão Função para leitura formatada Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Ler total de nomes e notas e depois, ler nome e notas de um arquivo notas.txt . Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include<stdio.h> #include<stdlib.h> #include<string.h> int main () { FILE *arq; char linha[80], nomeArq[30], nome[35]; int numAl, x; float nota1, nota2, media; printf("\nNome do arquivo? ");/*notas.txt*/ scanf("%s", nomeArq); if( (arq = fopen(nomeArq, "r"))==NULL) printf("Erro na abertura do arquivo."); Nome e duas notas Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I else { fgets(linha, 80, arq); sscanf(linha, "%d", &numAl); for (x = 0; x < numAl; x++) { fgets(nome, 35, arq); fgets(linha, 80, arq); sscanf(linha, "%f %f", ¬a1, ¬a2); media=(nota1+nota2)/2; printf("\n%d %s%.2f\t%.2f\t%.2f\n",x+1,nome, nota1, nota2, media); } fclose(arq); } printf("\n\n"); system("pause"); return 0; } Nome e duas notas Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I O exemplo da mercearia – Trecho Consultar Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I #include <stdio.h> #include <stdlib.h> #include <string.h> main() { FILE *fp; char s[80], nomeArq[20], nomeProc[15], n[15]=""; int x; printf("\nNome do arquivo sem espaco: "); scanf("%s", nomeArq); fp=fopen(nomeArq,"r"); if( fp == NULL) printf("\nArquivo NAO pode ser aberto\n"); Mercearia Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I else { printf("\nPrimeiro Nome: "); scanf("%s", nomeProc); while(fgets(s,80,fp) != NULL) { for(x=0; x<strlen(nomeProc); x++) { n[x]=s[x]; nomeProc[x]=toupper(nomeProc[x]); } if(strcmp(n, nomeProc)==0) printf("%s",s); } fclose(fp); } system("pause"); } Mercearia Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Vamos ao Bate Pronto Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I 1) Qual o modo de abertura para ler e gravar, permitindo alteração? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: rb+ 1) Qual o modo de abertura para ler e gravar, permitindo alteração? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: rb+ 1) Qual o modo de abertura para ler e gravar, permitindo alteração? 2) Qual a diferença entre os modos de abertura ab e ab+? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: rb+ 1) Qual o modo de abertura para ler e gravar, permitindo alteração? 2) Qual a diferença entre os modos de abertura ab e ab+? R: Ambos acrescentam ao final, mas ab Não permite leitura Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: rb+ 1) Qual o modo de abertura para ler e gravar, permitindo alteração? 2) Qual a diferença entre os modos de abertura ab e ab+? R: Ambos acrescentam ao final, mas ab Não permite leitura 3) Qual a função que grava um caracter? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: rb+ 1) Qual o modo de abertura para ler e gravar, permitindo alteração? 2) Qual a diferença entre os modos de abertura ab e ab+? R: Ambos acrescentam ao final, mas ab Não permite leitura 3) Qual a função que grava um caracter? R: fputc() Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I 4) Qual a função que lê dados formatados de um arquivo? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: fscanf() 4) Qual a função que lê dados formatados de um arquivo? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: fscanf() 5) Qual a função que lê dados formatados de um vetor de char? 4) Qual a função que lê dados formatados de um arquivo? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: fscanf() 5) Qual a função que lê dados formatados de um vetor de char? 4) Qual a função que lê dados formatados de um arquivo? R: sscanf() Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: fscanf() 5) Qual a função que lê dados formatados de um vetor de char? 4) Qual a função que lê dados formatados de um arquivo? R: sscanf() 6) Qual a função que detecta o fim de um arquivo? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: fscanf() 5) Qual a função que lê dados formatados de um vetor de char? 4) Qual a função que lê dados formatados de um arquivo? R: sscanf() 6) Qual a função que detecta o fim de um arquivo? R: feof() Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I 7) Qual o significado de NULL? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: É uma constante definida em stdio.h, retornada quando não se consegue abrir um arquivo externo por algum motivo. 7) Qual o significado de NULL? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: É uma constante definida em stdio.h, retornada quando não se consegue abrir um arquivo externo por algum motivo. 7) Qual o significado de NULL? 8) Como se finaliza uma repetição para a entrada via teclado de caracteres? Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I R: É uma constante definida em stdio.h, retornada quando não se consegue abrir um arquivo externo por algum motivo. 7) Qual o significado de NULL? 8) Como se finaliza uma repetição para a entrada via teclado de caracteres? R: Após digitar enter para o último dado válido, pressione as teclas CTRL e Z, seguida de ENTER. Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I Resumindo Armazenando para preservar - 1a parte– Aula 9 LINGUAGEM DE PROGRAMAÇÃO I
Compartilhar