https://github.com/sergionoivak/treinamento-de-arquivos-em-c
Revisão de arquivos em Linguagem C.
https://github.com/sergionoivak/treinamento-de-arquivos-em-c
Last synced: 21 days ago
JSON representation
Revisão de arquivos em Linguagem C.
- Host: GitHub
- URL: https://github.com/sergionoivak/treinamento-de-arquivos-em-c
- Owner: SergioNoivak
- Created: 2017-10-09T13:28:35.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-16T17:59:19.000Z (about 8 years ago)
- Last Synced: 2024-12-27T07:43:21.679Z (11 months ago)
- Language: C
- Size: 44.9 KB
- Stars: 2
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Treinamento-de-arquivos-em-C
## Podemos classificar os arquivos em duas modalidades:
* TEXTO
* BINARIO
O arquivo será o lugar que vamos substituir um ou ambos de nossos fluxos principais, Entrada e Saida.
A linguagem C conta com diversas funções para tais manipulações.
## Arquivo TEXTO
Podemos abrir um arquivo `.txt` Das seguintes formas:
MODO
Descrição
se o arquivo EXISTIR
se o arquivo NÃO EXISTIR
”r”
Abre o arquivo somente para leitura, a partir do início. O arquivo deve existir.
abre normalmente
ponteiro NULL
"w"
Cria um arquivo vazio para escrita. Se já havia o arquivo, ele é perdido
O anterior é apagado e cria um novo
Cria um novo arquivo
”a”
Abre o arquivo para adicicionar no final
abre normalmente
cria um novo
”r+”
Abre o arquivo para leitura e escrita, a partir do inicio.
abre normalmente
ponteiro NULL
”w+”
cria um novo arquivo para leitura e escrita
O anterior é apagado e cria um novo
cria um novo
”a+”
Abre para edição e leitura no fim do arquivo
Abre normalmente
cria um novo
Os modos de abertura de arquivo estão evidenciados em `E01.c`.
Funcoes para abertura de arquivos texto:
Podemos abrir com a seguinte funcão:
```
FILE * fopen ( const char * filename, const char * mode )
```
A funcao `fopen` retorna um ponteiro do tipo `FILE` e recebe por parametro `char * filename` que é o nome do arquivo e `const char * mode` que é uma das opções de modo da tabela anterior, exemplo:
```
FILE* arquivo_leitura;
arquivo_leitura = fopen("arq_leitura.txt","r");
```
Verificar se o arquivo foi aberto corretamente
é sempre importante saber se um arquivo foi aberto corretamente a fim de tratarmos se isso não acontecer, exemplo:
```
FILE* arquivo_leitura;
arquivo_leitura = fopen("arq_leitura.txt","r");
if(arquivo_leitura==NULL)
{
printf("Arquivo nao encontrado");
return 0;
}
```
Fechar o arquivo
Sempre quando não for mais utilizar um arquivo é necessario fecha-lo com a funcao
```
int fclose ( FILE * stream )
```
exemplo:
```
FILE* arquivo_leitura = fopen("arq_leitura.txt","r");
fclose(arquivo_leitura);
```
Exercicios
1
Faça um programa que crie um arquivo TEXTO em disco, com o nome “dados.txt”,
e escreva neste arquivo em disco uma contagem que vá de 1 até 100, com um número
em cada linha.
O exercicio resolvido esta em `E02.c`.
2
Faça um programa que leia um arquivo texto do disco, lendo linha a linha, e exibindo
cada uma das linhas numeradas na tela. A ideia é podermos pegar um arquivo um
arquivo texto qualquer (pode ser inclusive o arquivo do programa fonte – arquivo “.c”
– de um destes exercícios) e mostrar na tela com as linhas numeradas. As primeiras
linhas do arquivo iriam ser exibidas na tela da seguinte forma:
1: #include
2: #include
3:
4: FILE *ArqEntrada;
5: ...
O exercicio resolvido esta em `E03.c`.
3
Faça um programa que leia (do teclado) um cadastro de 10 alunos, indicando o nome,
nota1, nota2. Calcule a média aritmética simples dos 10 alunos e depois escreva em
um arquivo texto os dados de cada aluno: nome, nota1, nota2 e média. Lembre-se de
que as notas e média deverão ser apresentadas como valores que possuem até 2 casas
após a vírgula.
O exercicio resolvido esta em `E04.c`.
4
Faça um que abra um arquivo HTML e elimine todas as “tags” do texto, ou seja, o
programa deve gerar um novo arquivo em disco que elimine todas as tags Html
O exercicio resolvido esta em `E05.c`.
## Arquivo BINARIO
Tarefa 01 : ler artigo
Tarefa 02 : escrever resumo breve.