Академический Документы
Профессиональный Документы
Культура Документы
Fonte: Jos Francisco Salm Junior (Diretor de Engenharia de Sistemas Instituto Stela)
Linguagens e Tcnicas de
Programao II
Aula 06: Arquivos
Dicas
1- https://www.youtube.com/playlist?
list=PL65GXbMNWBWZ85GBjUBuG6lwjO8WwihKH
2-https://www.youtube.com/watch?v=1nd5yEDxO0g&list=PLC9E87254BD7A875B
3-https://www.youtube.com/playlist?list=PLZ8dBTV2_5HTGGtrPxDB7zx8J5VMuXdob
4-https://www.youtube.com/watch?
v=FH7YrE0RjWE&list=PLesCEcYj003SwVdufCQM5FIbrOd0GG1M4
5-https://www.youtube.com/watch?
v=VnH7OVFj_pA&list=PLa75BYTPDNKZWYypgOFEsX3H2Mg-SzuLW
Agenda
Arquivos
Conceitos
Aplicaes
Sintaxe
Exemplos
Exerccios
Introduo
Arquivos
3.
Abrir o arquivo;
Ler e/ou gravar as informaeses desejadas
no arquivo;
Fechar o arquivo.
Abertura de arquivo
A funo fopen()
fopen(nome arquivo,modo de uso).
Exemplo de uso
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *arquivo; //vai ser associada ao arquivo
arquivo = fopen("c:/teste9.txt","r");
if(arquivo==0)
printf("Erro na leitura do arquivo\n");
else
printf("Arquivo aberto com sucesso\n");
fclose(arquivo); //fecha arquivo
system("pause");
}
Leitura e gravao
continuao
// outra forma de copiar (caracter a caracter)
input = fopen(c:/tmp.txt", "r");
if(input){
output = fopen( c:/tmpCopy.txt", "w" );
ch = fgetc( input );
while( ch != EOF ) {
fputc( ch, output );
ch = fgetc( input );
}
fclose( input );
fclose( output );
}
else printf ("deu erro na abertura do arquivo
tmp.txt\n");
system("pause");
}
Exerccio
Faa um programa que decodifique um determinado texto gravado em um arquivo,
a partir da seguinte tabela de substituio de caracteres, gerando um novo arquivo:
CARACTER EXISTENTE
SUBSTITUIR POR
Exerccio
Considere um arquivo tipo texto j gravado.
Gere um novo arquivo com uma nova linha, com dados lidos do
teclado, entre a terceira e a quarta linha deste texto.
Mostre o conteudo do arquivo original e do novo.
Exemplo de soluo
//copia o conteudo do arquivo original.txt em copia.txt
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 150
main(){
int i;
char linha[MAX];
FILE *entrada, *saida;
entrada = fopen( "original.txt", "r" );
if(entrada){
saida = fopen( "copia.txt", "w" );
for (i=1;i<4;i++){
fgets(linha, MAX, entrada);//le as primeiras linhas
fputs(linha, saida );
// copia para o arquivo de saida
}
printf("Informe o conteudo da linha a ser inserida: ");
gets(linha);
strcat(linha,"\n");
fputs(linha, saida ); // escreve a linha adicionada
continuao
// copia o resto do arquivo, sem alteracao
fgets(linha, MAX, entrada);
while(!feof(entrada) ) {
fputs( linha, saida );
fgets(linha, MAX, entrada);
}
fputs( linha, saida ); //para escrever a ultima linha (do EOF)
fclose( entrada );
fclose( saida );
}
else printf ("deu erro na abertura do arquivo original.txt\n");
system("pause");
}
Fim
Dvidas??
Listas de exerccios.
21