Seila
Na semana passada , vimos algumas funções para criar escrever e ler dados em arquivos
FILE + a . Cria um ponteiro de arquivo
FOPEN abre cria um arquivo
FPUTC fecha um arquivo
FPRINTF escreve um dado no arquivo
FGETC recupera um caracter do arquivo
FSCANF recupera um dado do arquivo
FEOF verifica final do arquivo
Int numero
FILE *a a = fopen(“dados.txt”, “r”); while(!feof(a)) {
Fscanf(a, “%i”, numero);
If(!feof(a))
{
Printf(“%i”, numero);
}
}
Fputs
Escreve uma lina (string) inteira no arquivo
Fputs(string , ponteiro arquivo);
Exemplo.
Fputs(“texto de uma linha” , a);
Importante: Fputs não grava o caractere ‘\n’. Você deve inclui-lo no arquivo
Fgets
Recupera uma linha(string) inteira do arquivo:
Fgets(strings , tamanho, ponteiro , arquivo);
Exemplo
Char StrDestino[101];
Fgets(strDestino, 100, a);
Estruturas e Arquivos
Para trabalharmos com estruturas de dados precisamos criar arquivos binários. Para isso, usamos os modos.
Wb : Cria um arquivo binário
Para gravação
Rb : Abre um arquivo binário para leitura
Rb+ : Abre um arquivo binário pra escrita e leitura.
Ab+ : Abre um arquivo binário pra escrita e leitura, sendo os dados gravados no final do arquivo
Fwrite
Permite gravar estruturas de dados em um arquivo.
Fwrite(&var_struct, tamanho_struct, qtd_estruturas, ponteiro_arquivo);
Exemplo
TipoAluno a1;
Fwrite(fa1,sigaF(a1), 1,a);
Fread
Lê uma estrutura de dados do arquivo.
Fread(&var_struct, tamanho_struct, qtd_estruturas, ponteiro_arquivo);
Exemplo
Struct{TipoAluno} a1;
Fwrite(fa1,sigaF(a1), 1,a);
Fwind
Retorna para o início do arquivo rewind( ponteiro_arquivo);
Exemplo
Rewind(a)
Valores aleatórios
O primeira passo para gerar um valor aleatório é incluir a biblioteca time.h
Depois valores usar as funções
Int números;
Srand(time(NULL));
Numero = rand() valor_máximo
Exemplo
Int numero;
Srand(time(NULL));
Numero = rand()% 10 ,
Gera um numero aleatório entre 0 e 10