Arquivos PDF
Arquivos PDF
Arquivos PDF
Arquivos
● Exercícios Resolvidos
2
Conceitos
Arquivos
Um arquivo é uma coleção de itens que reside em disco.
Acesso pode ser não sequencial.
Acesso a informação pode ser concorrente.
Vantagem:
Os dados não são perdidos entre uma execução e outra.
Desvantagem:
O acesso ao disco é lento.
3
Conceitos
Tipos de Arquivos
Arquivos de Texto
- Cada byte do arquivo representa um caractere.
- Arquivos texto são fáceis de serem lidos por pessoas.
- Ocupa mais espaço para armazenar informações.
O inteiro 1.000.293 ocupa 7 bytes.
Arquivos Binários
- Os dados são gravados como estam na memória, byte a byte.
- Não conseguimos visualizar com um editor de texto
- É necessário um programa que reconheça aquela sequência de bytes e dê significado a ela.
- Ocupa menos espaço para armazenar informações
O inteiro 1.000.293 ocupa 4 bytes.
4
Arquivo Funções da biblioteca <stdio.h>
5
Arquivo Funções da biblioteca <stdio.h>
7
Arquivo Funções da biblioteca <stdio.h>
8
Arquivo Funções da biblioteca <stdio.h>
Exemplo:
Parâmetros #include <stdio.h>
<file> - ponteiro para o arquivo a ser lido.
int main(){
FILE* file = fopen ("arquivo.txt", "r");
char c = fgetc(file);
while(feof(file)==0) {
Retorno printf("%c", c);
1, se alcançou o fim do arquivo
c = fgetc(file);
int }
0, caso contrário
fclose(file);
}
10
Arquivo Funções da biblioteca <stdio.h>
Exemplo:
Parâmetros #include <stdio.h>
<file> - ponteiro para o arquivo a ser lido.
int main(){
<format> - especificador de formato. FILE* file = fopen ("arquivo.txt", "r");
char str1[10], str2[10], str3[10];
int ano;
Retorno fscanf(file, "%s %s %s %d", str1, str2, str3, &ano);
Número de itens lidos.
printf("String1 |%s|\n", str1 );
int printf("String2 |%s|\n", str2 );
Zero.
printf("String3 |%s|\n", str3 );
printf("Ano |%d|\n", ano );
fclose(file);
} 11
Arquivo Funções da biblioteca <stdio.h>
Outro exemplo:
Parâmetros #include <stdio.h>
<file> - ponteiro para o arquivo a ser lido.
int main(){
<format> - especificador de formato. FILE* file = fopen ("arquivo.txt", "r");
int n, v[100];
fscanf(file, "%d", &n);
Retorno for(int i=0; i<n; i++){
Número de itens lidos.
fscanf(file, "%d", &v[i]);
int }
Zero.
fclose(file);
}
12
Arquivo Funções da biblioteca <stdio.h>
Grava um caractere (unsigned char) especificado pelo argumento c no arquivo especificado e avança o
indicador de posição do arquivo.
Exemplo:
Parâmetros #include <stdio.h>
<c> - caractere a ser escrito.
int main(){
<file> - ponteiro para o arquivo a ser escrito. FILE* file = fopen ("arquivo.txt", "w");
//ABCDEFGHIJKLMNOPQRSTUVWXYZ
for(int ch = 65 ; ch <= 90; ch++ ) {
Retorno fputc(ch, file);
O caractere que foi escrito é retornado
}
int fclose(file);
EOF é retornado e o indicador de erro
é definido. }
13
Arquivo Funções da biblioteca <stdio.h>
Escreve uma string apontada por str no arquivo especificado. Não inclui o caractere ‘\0’.
Exemplo:
Parâmetros #include <stdio.h>
<str> - ponteiro para string a ser escrita.
int main(){
<file> - ponteiro para o arquivo a ser escrito. FILE* file = fopen ("arquivo.txt", "w");
14
Arquivo Funções da biblioteca <stdio.h>
Exemplo:
Parâmetros #include <stdio.h>
<file> - ponteiro para o arquivo a ser escrito.
int main(){
<format> - especificador de formato. FILE* file = fopen ("arquivo.txt", "r");
fprintf(file, "%s %s %s %s %d", "Meu", "mestrado",
"iniciou","em", 2021);
Retorno fclose(file);
Número de caracteres escritos.
}
int
Valor negativo.
15
Arquivo Funções da biblioteca <stdio.h>
Exercício 1
Crie um programa para contar o número de espaços em branco em um arquivo passado como argumento.
#include <stdio.h>
Exercício 2
Crie um programa para fazer cópias de arquivos texto, transferindo caracter por caracter. O programa deve
receber os nomes do arquivos de origem e destino via argumentos.
#include <stdio.h>
fclose(source);
fclose(target); 17
return 0;
}
Arquivo Funções da biblioteca <stdio.h>
fclose(file);
return 0;
} 20
21