aula 10 arquivos - cin.ufpe.brgrac/ip/aula11 - arquivos.pdf · exemplo: file *arquivo; arquivo =...
TRANSCRIPT
![Page 1: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/1.jpg)
Aula 10
Arquivos
Prof. Gustavo Callou
![Page 2: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/2.jpg)
Características
Podemos armazenar grande quantidade de
informação em arquivos;
Os dados serão gravados em disco.
![Page 3: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/3.jpg)
Tipos de Arquivos
Texto:
Os dados são armazenados em forma de caracteres que
podem ser visualizados ou modificados por um editor de
texto qualquer;
A leitura é feita sequencialmente, do início ao fim.
Binário:
Os dados são armazenados em forma de bits;
O acesso é randômico;
Exemplo: Arquivos executáveis, compactados, etc..
![Page 4: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/4.jpg)
Manipulação de Arquivos
Sequência de Passos:
1. Criar um ponteiro para a estrutura FILE (definida em
stdio.h);
2. Abrir o arquivo;
3. Ler ou gravar dados no arquivo;
4. Fechar o arquivo.
![Page 5: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/5.jpg)
Criar um ponteiro para um arquivo
Tipo de dado para manipulação de arquivos
FILE * arquivo;
Ponteiro que será utilizado na manipulação/acesso do
arquivo;
![Page 6: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/6.jpg)
Abrindo um arquivo
fopen()
Função utilizada para abrir um arquivo;
FILE *fopen(char nomeDoArquivo[], modoAbertura);
Exemplo:
FILE *arquivo;
arquivo = fopen(“arquivo.txt”, “w”);
![Page 7: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/7.jpg)
Modos de AberturaModo Significado
“r” Abre um arquivo texto para leitura. O arquivo deve existir antes de ser
aberto
“w” Cria 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.
“a” Abre um arquivo texto para gravação. Os dados serão adicionados no
final do arquivo (“append”), se ele já existir. No caso do arquivo não
existir um novo será criado.
“rb” Abre um arquivo binário para leitura. Igual ao modo “r”, só que para
binário.
“wb” Cria um arquivo binário para gravação. Igual ao modo “w”, só que para
binário.
“ab” Abre um arquivo texto para gravação. Igual ao modo “a”, só que para
binário.
“r+” Abre um arquivo texto para leitura e gravação. O arquivo deve existir
e pode ser modificado.
“w+” Cria um arquivo texto para leitura e gravação. Se o arquivo não existir
ele será criado. Se já existir, o conteúdo anterior será destruído.
![Page 8: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/8.jpg)
Modos de Abertura (Cont.)
Modo Significado
“a+” Abre um arquivo texto para gravação e leitura. Os dados serão
adicionados no final do arquivo (“append”), se ele já existir. No caso do
arquivo não existir um novo será criado.
“r+b” Abre um arquivo binário para leitura e escrita. Igual ao modo “r+”, só
que para binário.
“w+b” Cria um arquivo binário para gravação e leitura. Igual ao modo “w+”, só
que para binário.
“a+b” Abre um arquivo texto para gravação e leitura. Igual ao modo “a+”, só
que para binário.
![Page 9: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/9.jpg)
Abrindo um arquivo
Exemplo:1. FILE *arquivo;
2. arquivo = fopen(“arquivo.txt”, “w”);
3. if(!arquivo)
4. printf(“Erro ao abrir o arquivo\n”);
5. else{
6. printf(“Arquivo aberto com sucesso!”);
7. }
A condição !arquivo testa se o arquivo foi aberto com sucesso porque no caso de um erro a função fopen() retorna um ponteiro nulo (NULL).
![Page 10: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/10.jpg)
Algumas funções
fputs( string , arquivo)
Escreve uma string no arquivo
fgets ( string , tamanhoDaString, arquivo)
Lê tamanhoDaString caracteres do arquivo
nomeDoArquivo para a string
fprintf (arquivo, string, <Parâmetros>)
Semelhante ao printf, porém a saída é o arquivo
fscanf (arquivo, string de controle, <variáveis>)
Semelhante ao scanf, porém a entrada vem do arquivo
![Page 11: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/11.jpg)
Algumas funções
fgetc (arquivo)
Lê um caractere do stream arquivo e o retorna
fputc( caractere , arquivo)
Escreve o caractere no arquivo
feof (arquivo)
Retorna 1 se estiver no fim do arquivo
fflush (arquivo)
Limpa o buffer para os arquivos
![Page 12: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/12.jpg)
Manipulação de Arquivos
Uma vez aberto o arquivo, podemos ler ou escrever
nele utilizando algumas funções.
![Page 13: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/13.jpg)
Manipulação de Arquivos
fclose() – Fecha um arquivo
Um arquivo deverá ser fechado após seu uso;
int fclose (FILE *fp);
![Page 14: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/14.jpg)
Manipulação de Arquivos
putc() – Escreve um caractere no arquivo
int putc (int ch, FILE *fp);
OBS.: fputc() é equivalente a putc()
![Page 15: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/15.jpg)
Usando putc para escrever
no arquivo
#include <stdio.h>
int main()
{
FILE *arquivo;
char nome[30];
int i;
arquivo = fopen("arquivo.txt","w");
if(!arquivo)
{
printf( "Erro na abertura do arquivo");
exit(0);
}
printf("Entre com o nome a ser gravada no arquivo:");
gets(nome);
for(i=0; nome[i]; i++)
putc(nome[i], arquivo);
fclose(arquivo);
return 0;
}
![Page 16: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/16.jpg)
Usando fputs para escrever
no arquivo
#include <stdio.h>
int main()
{
FILE *arquivo;
char nome[30];
int i;
arquivo = fopen("arquivo.txt","w");
if(!arquivo)
{
printf( "Erro na abertura do arquivo");
exit(0);
}
printf("Entre com o nome a ser gravada no arquivo:");
gets(nome);
fputs(nome, pf);
fclose(arquivo);
return 0;
}
![Page 17: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/17.jpg)
Usando fgets para ler
do arquivo
#include <stdio.h>
int main()
{
FILE *arquivo;
char nome[30];
int i;
arquivo = fopen("arquivo.txt",“r");
if(!arquivo)
{
printf( "Erro na abertura do arquivo");
exit(0);
}
fgets(nome, 30, pf);
fclose(arquivo);
return 0;
}
![Page 18: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/18.jpg)
Manipulação de Arquivos
getc() - retorna um caractere lido do arquivo;
int getc (FILE *fp);
OBS.: Equivalente à fgetc().
![Page 19: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/19.jpg)
Manipulação de Arquivos
feof() - retorna não-zero se o arquivo chegou ao
EOF ("End Of File"), caso contrário retorna zero.
int feof (FILE *fp);
![Page 20: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/20.jpg)
Manipulação de Arquivos
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int c;
fp = fopen("arquivo.txt","r");
if(!fp)
{
printf( "Erro na abertura do arquivo");
exit(0);
}
while((c = getc(fp) ) != EOF)
printf("%c", (char)c);
fclose(fp);
return 0;
}
![Page 21: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/21.jpg)
Manipulação de Arquivos
fgets() - Para se ler uma string num arquivo.
char *fgets (char *str, int tamanho,FILE *fp);
A função lê a string até que um caracter de nova linha
seja lido ou (tamanho – 1) caracteres tenham sido lidos.
Se o caracter de nova linha ('\n') for lido, ele fará parte da
string, o que não acontecia com gets.
A string resultante sempre terminará com '\0‘ (por isto
somente (tamanho-1) caracteres, no máximo, serão
lidos).
![Page 22: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/22.jpg)
Manipulação de Arquivos
fputs() - escreve uma string num arquivo.
char *fputs (char *str, FILE *fp);
![Page 23: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/23.jpg)
Manipulação de Arquivos
ferror() - determina se uma operação com arquivo
produziu um erro. Retorna zero caso não tenha
ocorrido erro.
int ferror (FILE *fp);
![Page 24: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/24.jpg)
Manipulação de Arquivos
#include <stdio.h>
int main()
{
FILE *pf;
char string[100];
if(!(pf = fopen("arquivo.txt","wb")))
exit(1);
do
{
printf("\nDigite uma nova string. Para terminar,
digite <enter>: ");
fgets(string,100,stdin);
fputs(string, pf);
if(ferror(pf))
exit(1);
} while (strlen(string) > 1);
fclose(pf);
return 0;
}
![Page 25: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/25.jpg)
Manipulação de Arquivos
fscanf() - funciona como a função scanf()
int fscanf (FILE *fp,char *str,...);
a única diferença do protótipo de fscanf() para o de
scanf() é a especificação do arquivo origem através
do ponteiro de arquivo.
![Page 26: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/26.jpg)
Manipulação de Arquivos
fprintf() - funciona como a função printf()
int fprintf (FILE *fp,char *str,...);
a única diferença do protótipo de fprintf() para o de
printf() é a especificação do arquivo destino através
do ponteiro de arquivo.
![Page 27: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/27.jpg)
Manipulação de Arquivos
Podemos escrever e ler blocos de dados em um
determinado arquivo:
fread()
fwrite()
Utilizando em arquivos binários
![Page 28: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/28.jpg)
Manipulação de Arquivos
fread() - ler blocos de dados
unsigned int fread (void *buffer, int
numero_de_bytes, int count, FILE *fp);
A função retorna o número de unidades efetivamente
lidas. Este número pode ser menor que count quando o
fim do arquivo for encontrado ou ocorrer algum erro.
![Page 29: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/29.jpg)
Manipulação de Arquivos
fwrite() - Escreve blocos de dados;
unsigned int fwrite(void *buffer, int
numero_de_bytes, int count, FILE *fp);
A função retorna o número de itens escritos. Este valor
será igual a count, a menos que ocorra algum erro.
![Page 30: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/30.jpg)
Manipulação de Arquivos
#include <stdio.h>
int main() {
FILE *pf;
float pi = 3.1415, pilido;
if(!(pf = fopen("arquivo.bin", "wb"))) exit(1);
if(fwrite(&pi, sizeof(float), 1,pf) != 1) {
printf("Erro na escrita do arquivo!");
exit(2); }
fclose(pf);
if(!(pf = fopen("arquivo.bin", "rb"))) exit(1);
if(fread(&pilido, sizeof(float), 1,pf) != 1) {
printf("Erro na leitura do arquivo!");
exit(3); }
printf("\nO valor de PI, lido do arquivo e': %.4f", pilido);
fclose(pf); return(0);
}
![Page 31: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/31.jpg)
Manipulação de Arquivos
fseek() – Alterando a posição do arquivo, posiciona
um arquivo em um byte específico
int fseek(arquivo, numeroDeBytes, origem);
"Salta“ o correspondente número de bytes (pode ser
utilizado sizeof()) passados a partir de origem, sendo
origem uma das 3 opções:
SEEK_SET início do arquivo
SEEK_CUR posição atual
SEEK_END fim do arquivo
![Page 32: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/32.jpg)
Manipulação de Arquivos
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen ( "example.bin" , "wb" );
fputs ( "This is an apple." , pFile );
fseek ( pFile , 9 , SEEK_SET );
fputs ( " sam" , pFile );
fclose ( pFile );
return 0;
}Saída:
Qual vai ser a saída????
![Page 33: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/33.jpg)
Manipulação de Arquivos
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen ( "example.bin" , "wb" );
fputs ( "This is an apple." , pFile );
fseek ( pFile , 9 , SEEK_SET );
fputs ( " sam" , pFile );
fclose ( pFile );
return 0;
}Saída:
This is a sample
![Page 34: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/34.jpg)
Manipulação de Arquivos
rewind () - Volta ponteiro ao inicio do arquivo
Int rewind ( arquivo ) ;
![Page 35: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/35.jpg)
Exercício
1 - Fazer um programa que salva a estrutura de
“Cliente” (da Aula 09 - Estrutura) em um arquivo.
2 - Fazer um programa que ler de um arquivo os
dados salvos da estrutura Cliente e os recupera
para serem trabalhados. Imprimir na tela a partir da
estrutura os dados lidos.
Gustavo Callou DEINFO/UFRPE 35
![Page 36: Aula 10 Arquivos - cin.ufpe.brgrac/ip/Aula11 - Arquivos.pdf · Exemplo: FILE *arquivo; arquivo = fopen(“arquivo.txt”, “w”); Modos de Abertura Modo Significado “r” Abre](https://reader034.vdocuments.mx/reader034/viewer/2022050222/5f67b3e7e42861307d6c0f9c/html5/thumbnails/36.jpg)
Perguntas?