Ir para conteúdo
Fórum Script Brasil
  • 0

Problema ao carregar arquivo binario


AbRaOHS

Pergunta

Boa tarde pessoal, estou com o seguinte problema nesse código

#include<stdlib.h>
#include<stdio.h>

struct reg_save{
       int cor_letra;
       int cor_sel;
       int cor_fundo;
       int menu;
       int qtd_equip; 
       int tipo_disp; 
       int aux5;
       char nome_equip[33][15];  
       int pos[33];
       int jogos[3][17][32];
};

struct reg_save save;

void SalvarDados()
{
    FILE *fpsave;     
    fpsave = fopen("save.dat","w");                   
    fwrite(&save,sizeof(save),1,fpsave); 
    fclose(fpsave);
 }

void CarregarDados()
{
    FILE *fpsave;
    fpsave = fopen("save.dat","rb");            
    fread(&save,sizeof(save),1,fpsave);                                                       
    fclose(fpsave);        
}

int main()
{
    save.menu=0;
    save.qtd_equip=0;
    save.tipo_disp=-1;
    save.cor_letra=15;
    save.cor_sel=4;
    save.cor_fundo=0;
    
    int x,tecla,num;
    
    for(x=1; x<=32; x++)
        save.pos[x]=1;
    

        printf("\nDigite um numero: ");
        scanf("%i",&num);
        for(x=1; x<=32; x++)
            save.pos[x]=x+num;
        SalvarDados();
        
        printf("\nNORMAL - ");
        for(x=1; x<=32; x++)
            printf("%i ",save.pos[x]);
        
        CarregarDados();    
        
        printf("\n\nDEPOIS DE CARREGAR O ARQUIVO - ");
        for(x=1; x<=32; x++)
            printf("%i ",save.pos[x]);

    printf("\n\n");
    system("pause");
}

Acontece que quando o arquivo é carregado os valores que são 10 ou + acabam mudando por exemplo o 10 muda para 2573 11 para 2816 12 para 3072 e assim continua.

Agradeceria muito se alguém pudesse me ajudar.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá, não sei se entendi direito más por aqui seu código foi corrigido

na função: SalvarDados();

fwrite(&save,sizeof(save),1,fpsave); // O erro, está aqui tem que ser 0.
Abaixo a correção:
fwrite(&save,sizeof(save),0,fpsave); // Corrigido.

Na função CarregarDados(); segue como está.

Se não for isto me desculpe.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...