Buscar

Slides Aula 06

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagem de 
Programação
Aula 06
Contextualização
• Em linguagem de programação C se 
trabalha com o conceito de fluxo de 
manipulação de dados, também 
chamado de stream, o que possibilita 
ao programador trabalhar com 
dispositivos de armazenamento.
• Os dados podem ser manipulados de 
duas formas ou fluxos denominados 
de fluxos de texto e fluxos binários. 
2
Roteiro da Aula
•Arquivos
3
Arquivos
Pode estar associado a qualquer
dispositivo de entrada e saída, 
como por exemplo: teclado, 
video, impressora, disco rígido, 
etc.
4
Arquivos
A manipulação de arquivos em 
Linguagem de programação 
consiste em três fases:
1.Abrir o arquivo;
2.Ler e/ou gravar as 
informações no arquivo;
3.Fechar o arquivo. 5
Funções de entrada e saída
As funções mais usadas para
manipulação de arquivos estão
armazenadas na biblioteca
stdio.h
6
Funções de entrada e saída
7
Função Descrição
fopen( ) Abre um arquivo
fputc( ) Escreve um caractere em um 
arquivo
fgetc( ) Lê um caractere em um 
arquivo
fputs( ) Escreve uma string em um 
arquivo
fprintf( ) Equivalente ao comando 
printf()
Funções de entrada e saída
8
Função Descrição
fscanf( ) Equivalente ao comando 
scanf()
rewind( ) Posiciona o arquivo no início
feof( ) Retornar verdadeiro se 
chegou ao final do arquivo
fclose( ) Fecha o arquivo
fread ( ) Leitura de arquivos
Abertura de arquivo
Primeira operação que deve 
ser realizada na manipulação 
de arquivos.
•Operação associa um fluxo 
de dados a um arquivo. 
9
Abertura de arquivo –
fopen()
Um arquivo pode ser aberto 
de diversas maneiras: 
• Leitura
• Escrita
• Leitura/escrita
• Etc
10
Abertura de arquivo -
fopen()
Sintaxe:
fopen(nome arquivo, modo de uso).
Nome arquivo = nome do arquivo
modo de uso = tipo do arquivo (ascii ou
binário), e objetivo de uso
(leitura, escrita, anexação)
11
Abertura de arquivo -
fopen()
12
Exemplo de uso
13
Exemplo de uso
14
Exemplo de uso
15
// Programa que grava o nome de cinco alunos em um arquivo e
// depois le o arquivo e mostra os nomes escritos
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main(){
FILE *p;
char c, str[30], frase[80] = "Este e um arquivo chamado: “; 
char alunos [5][50], mostratexto [50];
int i,j=0, cont=0;
// Le um nome para o arquivo a ser aberto: 
printf("\n\n Entre com um nome para o arquivo:\n");
gets(str);
// le os nomes dos alunos e coloca no vetor alunos
for (cont=0;cont<5;cont++)
{
printf ("\nInforme o nome do aluno %d: ", cont+1);
gets(alunos[cont]);
}
// abre o arquivo para gravacao
if (!(p = fopen(str,"w")))
// Caso ocorra algum erro na abertura do arquivo 
// damensagem e nao faz nada
{ 
printf("Erro! Impossivel abrir o arquivo!\n");
}
else {
// Se nao houve erro, grava o arquivo e o fecha ...
for (i=0; i<5; i++)
{
strcat(alunos[i], "\n"); 
fputs(alunos[i],p); 
} 
fclose(p); // fecha o arquivo ao final da gravacao
printf("\nTerminei de escrever, agora vou ler.\n");
// Abre novamente, agora para leitura 
p = fopen(str,"r");
//uma forma de mostrar
fgets(mostratexto, 50, p);
while (!feof(p))
{
printf("%s",mostratexto);
fgets(mostratexto, 50, p);
}
fclose(p); // Fecha o arquivo p
16
Exercício Prático
• 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 conteúdo 
do arquivo original e do novo.
17
Possibilidade de resposta
//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 18
Possibilidade de resposta
// 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"); 
}
19

Continue navegando