SlideShare uma empresa Scribd logo
Arquivos em C
Geanderson Esteves
Mestrando em Ciências da Computação
Universidade Federal de Minas Gerais
Conceitos Básicos
Conjuntos de informações mantidas no disco (memória
secundária)
Informações são “persistidas” em comparação com a
memória RAM (memória primária)
Sistema Operacional (OS) faz um “buffer” das informações
lidas/gravadas
Analogia do conceito
Conceitos Básicos
Em C, arquivos podem ser gravados de duas maneiras:
● Modo texto (conjunto de caracteres)
○ Arquivo texto pode ser tratado por qualquer editor
(e.g., bloco de notas, terminal, word, etc.)
● Modo binário (conjunto de bytes)
○ Ex: Grandes quantidades de informações de forma
eficiente
Operações Primordiais
● Abertura do arquivo (localização, alocação do buffer);
● Leitura do arquivo (informações do buffer são
disponibilizadas);
● Gravação do arquivo (alteração de dados preexistentes
ou acréscimo de novos dados);
● Fechamento do arquivo (atualização do buffer e
liberação de memória alocada);
Comandos Essenciais
FILE *fp;
FILE *fopen(char *nome_arquivo,
char *modo_de_acesso);
int fclose(FILE *fluxo);
Possíveis modos de acesso
modo_de_acesso Significado
r Abre o arquivo somente para leitura. O arquivo deve existir.
r+ Abre o arquivo para leitura e escrita. O arquivo deve existir.
w Abre o arquivo somente para escrita no início do arquivo. Apagará o conteúdo do
arquivo se ele já existir, criará um arquivo novo se ele não existir.
w+ Abre o arquivo para escrita e leitura, apagando o conteúdo pré-existente.
a Abre o arquivo para escrita no final do arquivo. Não apagará o conteúdo
pré-existente.
a+ Abre o arquivo para escrita no final do arquivo e leitura.
Ex1. Testando criação de um arquivo
#include <stdio.h>
int main()
{
FILE *fp;
fp = fopen ("README", "w");
if (fp == NULL) {
printf ("Houve um erro ao abrir o arquivo.n");
return 1;
}
printf ("Arquivo README criado com sucesso.n");
fclose (fp);
return 0;
}
Ex2. Lendo um arquivo
#include <stdio.h>
int main()
{
char c[41];
FILE *fp;
fp = fopen("README", "r");
while(fgets(c, 40, fp) != NULL)
puts(c);
fclose(fp);
return 0;
}
Ex3. Contando linhas de um arquivo
#include <stdio.h>
int main()
{
int c, nlinhas = 0;
FILE *fp;
fp = fopen("README", "r");
while((c=fgetc(fp))!=EOF)
if(c=='n') nlinhas++;
fclose(fp);
printf("Numero de linhas = %dn", nlinhas);
return 0;
}
Escrevendo em um arquivo
void fputc(int caractere, FILE *fluxo)
void fputs(char *string, FILE *fluxo)
void fprintf(FILE *fluxo, char *formatação)
int fwrite(void *dados, int tamanho_do_elemento,
int num_elementos, FILE *fluxo)
Escrevendo em um arquivo
Saída padrão Arquivos Explicação
putchar fputc Imprime apenas um caractere
puts fputs Imprime uma string diretamente, sem nenhuma formatação
printf fprintf Imprime uma string formatada
N/A fwrite Grava dados binários em um arquivo
Ex4. Escrevendo em um arquivo [1]
#include <stdio.h>
int main()
{
FILE *fp;
fp = fopen ("README", "w");
fprintf(fp, "Salvando alguma coisa no meu arquivo...n");
fclose(fp);
return 0;
}
Ex4. Escrevendo em um arquivo [2]
#include <stdio.h>
int main()
{
FILE *fp;
char frase[] = "Universidade Federal de Minas Gerais";
fp = fopen("file", "w");
for(int i = 0; frase[i]!='0'; i++)
fprintf(fp, "%c", frase[i]);
return 0;
}
Arquivos binários
Servem para salvar (recuperar) as informações tais como se
encontram na memória principal
Permite o manuseio de grandes quantidades de dados de
forma mais eficiente (i.e., não sequencial)
Um arquivo binário permite a busca por qualquer informação
contida no arquivo (fseek)
Arquivos binários
int fread(void* p, int tam, int num,
FILE *fp);
int fwrite(void* p, int tam, int
num, FILE *fp);
int fseek(FILE *fp, long offset, int
origem)
Ex5. Escrevendo um arquivo binário
#include <stdio.h>
int main()
{
FILE *fp;
fp=fopen("test.bin", "wb");
int x[5]= {1, 2, 3, 4, 5};
fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);
return 0;
}
Referências
● ZIVIANI, Nivio. Projeto de Algoritmos com
Implementação em Pascal e C
● C Programming.
http://www.cprogramming.com/tutorial/c-tutorial.html
● Tutorials Point.
https://www.tutorialspoint.com/c_standard_library

Mais conteúdo relacionado

Mais procurados

Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
Elaine Cecília Gatto
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
Eduardo Oliveira
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
Elaine Cecília Gatto
 
Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
Adriano Teixeira de Souza
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
Daniel Brandão
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Leinylson Fontinele
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
Norton Guimarães
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
Pedro De Almeida
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
Elaine Cecília Gatto
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
Linguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio RufinoLinguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio Rufino
Antonio Rufino
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
Elaine Cecília Gatto
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
Leonardo Melo Santos
 
Scratch cap-1
Scratch cap-1Scratch cap-1
Scratch cap-1
RuiTobiasDBCarvalho
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
Elaine Cecília Gatto
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código Aberto
Carlos J. Costa
 

Mais procurados (20)

Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Linguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio RufinoLinguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio Rufino
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Scratch cap-1
Scratch cap-1Scratch cap-1
Scratch cap-1
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código Aberto
 

Destaque

Conferencia con laminas: Reputacion & Marca personal en Redes Sociales
Conferencia con laminas: Reputacion & Marca personal en Redes SocialesConferencia con laminas: Reputacion & Marca personal en Redes Sociales
Conferencia con laminas: Reputacion & Marca personal en Redes Sociales
Autoritas Consulting
 
120 Oportunidades de Autoempleo
120 Oportunidades de Autoempleo120 Oportunidades de Autoempleo
120 Oportunidades de Autoempleo
Guadalupe Leonardo Morales
 
Open Government
Open GovernmentOpen Government
Open Government
Autoritas Consulting
 
Cop’s dgtic oct 2009
Cop’s dgtic oct 2009Cop’s dgtic oct 2009
Cop’s dgtic oct 2009
Autoritas Consulting
 
Programa de entrenamiento 2011
Programa de entrenamiento 2011Programa de entrenamiento 2011
Programa de entrenamiento 2011
Guadalupe Leonardo Morales
 
Los sistemas políticos de decisión y las TIC
Los sistemas políticos de decisión y las TICLos sistemas políticos de decisión y las TIC
Los sistemas políticos de decisión y las TIC
Autoritas Consulting
 
ACTIVE - LISTENING
ACTIVE - LISTENINGACTIVE - LISTENING
ACTIVE - LISTENING
Autoritas Consulting
 

Destaque (7)

Conferencia con laminas: Reputacion & Marca personal en Redes Sociales
Conferencia con laminas: Reputacion & Marca personal en Redes SocialesConferencia con laminas: Reputacion & Marca personal en Redes Sociales
Conferencia con laminas: Reputacion & Marca personal en Redes Sociales
 
120 Oportunidades de Autoempleo
120 Oportunidades de Autoempleo120 Oportunidades de Autoempleo
120 Oportunidades de Autoempleo
 
Open Government
Open GovernmentOpen Government
Open Government
 
Cop’s dgtic oct 2009
Cop’s dgtic oct 2009Cop’s dgtic oct 2009
Cop’s dgtic oct 2009
 
Programa de entrenamiento 2011
Programa de entrenamiento 2011Programa de entrenamiento 2011
Programa de entrenamiento 2011
 
Los sistemas políticos de decisión y las TIC
Los sistemas políticos de decisión y las TICLos sistemas políticos de decisión y las TIC
Los sistemas políticos de decisión y las TIC
 
ACTIVE - LISTENING
ACTIVE - LISTENINGACTIVE - LISTENING
ACTIVE - LISTENING
 

Semelhante a Arquivos em C

Java9
Java9Java9
Tutorial dev cpp 002 - criação, leitura e alteração de arquivos
Tutorial dev cpp   002 - criação, leitura e alteração de arquivosTutorial dev cpp   002 - criação, leitura e alteração de arquivos
Tutorial dev cpp 002 - criação, leitura e alteração de arquivos
Flávio Freitas
 
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
Rodrigo Kiyoshi Saito
 
Arquivos slides aula25
Arquivos slides aula25Arquivos slides aula25
Arquivos slides aula25
AlanoG
 
Estrutura de dados ii
Estrutura de dados iiEstrutura de dados ii
Estrutura de dados ii
Juliane Marinho
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
Tiago
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
Luciano Souto
 
Java streams
Java streamsJava streams
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Os Fantasmas !
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
Leandro Barbosa
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
Marcelo Lira
 
Laboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoLaboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em disco
Alex Camargo
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04
thomasdacosta
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
Rodrigo Vieira
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
Rodrigo Vieira
 
Programação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código FonteProgramação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código Fonte
thomasdacosta
 
Ativ complementar etapa 02
Ativ complementar etapa 02Ativ complementar etapa 02
Ativ complementar etapa 02
Adilour Nery Souto
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
guilhermeoki
 
Sgf
SgfSgf
Tutorial de uso de arquivo em linguagem c
Tutorial de uso de arquivo em linguagem cTutorial de uso de arquivo em linguagem c
Tutorial de uso de arquivo em linguagem c
Vinny Melo
 

Semelhante a Arquivos em C (20)

Java9
Java9Java9
Java9
 
Tutorial dev cpp 002 - criação, leitura e alteração de arquivos
Tutorial dev cpp   002 - criação, leitura e alteração de arquivosTutorial dev cpp   002 - criação, leitura e alteração de arquivos
Tutorial dev cpp 002 - criação, leitura e alteração de arquivos
 
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Arquivos slides aula25
Arquivos slides aula25Arquivos slides aula25
Arquivos slides aula25
 
Estrutura de dados ii
Estrutura de dados iiEstrutura de dados ii
Estrutura de dados ii
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
 
Java streams
Java streamsJava streams
Java streams
 
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 15 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
 
Laboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoLaboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em disco
 
Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04Programação Estruturada 2 - Aula 04
Programação Estruturada 2 - Aula 04
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Programação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código FonteProgramação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código Fonte
 
Ativ complementar etapa 02
Ativ complementar etapa 02Ativ complementar etapa 02
Ativ complementar etapa 02
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Sgf
SgfSgf
Sgf
 
Tutorial de uso de arquivo em linguagem c
Tutorial de uso de arquivo em linguagem cTutorial de uso de arquivo em linguagem c
Tutorial de uso de arquivo em linguagem c
 

Arquivos em C

  • 1. Arquivos em C Geanderson Esteves Mestrando em Ciências da Computação Universidade Federal de Minas Gerais
  • 2. Conceitos Básicos Conjuntos de informações mantidas no disco (memória secundária) Informações são “persistidas” em comparação com a memória RAM (memória primária) Sistema Operacional (OS) faz um “buffer” das informações lidas/gravadas
  • 4. Conceitos Básicos Em C, arquivos podem ser gravados de duas maneiras: ● Modo texto (conjunto de caracteres) ○ Arquivo texto pode ser tratado por qualquer editor (e.g., bloco de notas, terminal, word, etc.) ● Modo binário (conjunto de bytes) ○ Ex: Grandes quantidades de informações de forma eficiente
  • 5. Operações Primordiais ● Abertura do arquivo (localização, alocação do buffer); ● Leitura do arquivo (informações do buffer são disponibilizadas); ● Gravação do arquivo (alteração de dados preexistentes ou acréscimo de novos dados); ● Fechamento do arquivo (atualização do buffer e liberação de memória alocada);
  • 6. Comandos Essenciais FILE *fp; FILE *fopen(char *nome_arquivo, char *modo_de_acesso); int fclose(FILE *fluxo);
  • 7. Possíveis modos de acesso modo_de_acesso Significado r Abre o arquivo somente para leitura. O arquivo deve existir. r+ Abre o arquivo para leitura e escrita. O arquivo deve existir. w Abre o arquivo somente para escrita no início do arquivo. Apagará o conteúdo do arquivo se ele já existir, criará um arquivo novo se ele não existir. w+ Abre o arquivo para escrita e leitura, apagando o conteúdo pré-existente. a Abre o arquivo para escrita no final do arquivo. Não apagará o conteúdo pré-existente. a+ Abre o arquivo para escrita no final do arquivo e leitura.
  • 8. Ex1. Testando criação de um arquivo #include <stdio.h> int main() { FILE *fp; fp = fopen ("README", "w"); if (fp == NULL) { printf ("Houve um erro ao abrir o arquivo.n"); return 1; } printf ("Arquivo README criado com sucesso.n"); fclose (fp); return 0; }
  • 9. Ex2. Lendo um arquivo #include <stdio.h> int main() { char c[41]; FILE *fp; fp = fopen("README", "r"); while(fgets(c, 40, fp) != NULL) puts(c); fclose(fp); return 0; }
  • 10. Ex3. Contando linhas de um arquivo #include <stdio.h> int main() { int c, nlinhas = 0; FILE *fp; fp = fopen("README", "r"); while((c=fgetc(fp))!=EOF) if(c=='n') nlinhas++; fclose(fp); printf("Numero de linhas = %dn", nlinhas); return 0; }
  • 11. Escrevendo em um arquivo void fputc(int caractere, FILE *fluxo) void fputs(char *string, FILE *fluxo) void fprintf(FILE *fluxo, char *formatação) int fwrite(void *dados, int tamanho_do_elemento, int num_elementos, FILE *fluxo)
  • 12. Escrevendo em um arquivo Saída padrão Arquivos Explicação putchar fputc Imprime apenas um caractere puts fputs Imprime uma string diretamente, sem nenhuma formatação printf fprintf Imprime uma string formatada N/A fwrite Grava dados binários em um arquivo
  • 13. Ex4. Escrevendo em um arquivo [1] #include <stdio.h> int main() { FILE *fp; fp = fopen ("README", "w"); fprintf(fp, "Salvando alguma coisa no meu arquivo...n"); fclose(fp); return 0; }
  • 14. Ex4. Escrevendo em um arquivo [2] #include <stdio.h> int main() { FILE *fp; char frase[] = "Universidade Federal de Minas Gerais"; fp = fopen("file", "w"); for(int i = 0; frase[i]!='0'; i++) fprintf(fp, "%c", frase[i]); return 0; }
  • 15. Arquivos binários Servem para salvar (recuperar) as informações tais como se encontram na memória principal Permite o manuseio de grandes quantidades de dados de forma mais eficiente (i.e., não sequencial) Um arquivo binário permite a busca por qualquer informação contida no arquivo (fseek)
  • 16. Arquivos binários int fread(void* p, int tam, int num, FILE *fp); int fwrite(void* p, int tam, int num, FILE *fp); int fseek(FILE *fp, long offset, int origem)
  • 17. Ex5. Escrevendo um arquivo binário #include <stdio.h> int main() { FILE *fp; fp=fopen("test.bin", "wb"); int x[5]= {1, 2, 3, 4, 5}; fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp); return 0; }
  • 18. Referências ● ZIVIANI, Nivio. Projeto de Algoritmos com Implementação em Pascal e C ● C Programming. http://www.cprogramming.com/tutorial/c-tutorial.html ● Tutorials Point. https://www.tutorialspoint.com/c_standard_library