Ir ao conteúdo

C não sei pra que serve o comando FREAD


Ir à solução Resolvido por Asrety,

Posts recomendados

Postado

Não sei pra que serve o comando fread neste programa alguem me ajuda: 

 

#include <stdio.h>
#include<stdlib.h>
#include <string.h>
#include <conio.h>
 
struct Cliente{
    int codigo;
    char nome[50];
};
main(){
    FILE *arq;
    Cliente cli;
    int op, pos;
    char resp='s';
    arq = fopen("cliente.txt","a+b");
    if (arq==NULL)printf("\nEr01Erro ao tentar abrir arquivo");
      else{
          do{
              printf("\n================MENU================\n");
                   
              printf("\n1-Incluir");
              printf("\n2-Consultar");
              printf("\n3-Sair");
              printf("\n====================================\n");
              printf("\n-Opcao\n");
              scanf("%d",&op);
              system("cls");
              getchar();
              switch(op){
              //Inclusão
              case 1:{
            printf("\n================Cadastro================\n");                  
              printf("\nDigite o codigo do cliente\n");
              scanf("%d",&cli.codigo);
              fflush(stdin);
              printf("\nDigite o nome do cliente\n");
              gets(cli.nome);
              fwrite(&cli,sizeof(cli),1,arq);
              printf("\n========================================\n");    
              system("cls");
              break;
                     }    
              //Consulta listagem
              case 2: {
              rewind(arq);
              while(!feof(arq)){
                  fread(&cli,sizeof(cli),1,arq);// isso aqui <---------------------
                  if (ferror(arq))
                      printf("\nErro na leitura do Registro\n");
                      else{
                      if (!feof(arq))
                      {
                      printf("\n================Consulta===============\n");
                       printf("\ncodigo %d",cli.codigo);
                       printf("\nnome %s",cli.nome);
                      printf("\n=======================================\n");
                    getchar();
                    }
                    
                  }}system("cls");
                      break;
                  }
                     }
          }
          while (op!=3);
          fclose(arq);
}//

}


 

  • Solução
Postado

Estude sobre os comandos fwrite & fread que entenderá, fwrite = escrita, fread = leitura, e basicamente é isto que ele está fazendo, e o que está permitindo as 2 funções no mesmo arquivo é o modo que ele foi aberto...

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!