Ir para conteúdo
Fórum Script Brasil

AccioOnion

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre AccioOnion

AccioOnion's Achievements

0

Reputação

  1. #include <stdio.h> #include <stdlib.h> typedef struct Pessoa { int cc; char nome[51]; char partida[11]; char chegada[11]; short int dia; } PESSOA; int main() { int i; FILE* fps = fopen("okb","rb"); PESSOA passageiro; if (fps == NULL) { printf("Problemas na abertura do arquivo\n"); exit(1); } else { fread (&passageiro.cc, 4, 1, fps); fread (passageiro.nome, 1, 51, fps); fread (passageiro.partida, 1, 11, fps); fread (passageiro.chegada, 1, 11, fps); fread (&passageiro.dia, 2, 1, fps); printf("%d ", passageiro.cc); for(i = 0; i < 51; i++) { printf("%c", passageiro.nome[i]); } for(i = 0; i < 11; i++) { printf("%c", passageiro.partida[i]); } for(i = 0; i < 11; i++) { printf("%c", passageiro.chegada[i]); } printf("%hd\n", passageiro.dia); } fclose(fps); } Boa noite, estava aqui a fazer um trabalho e deparei-me com isto e não consigo perceber o porquê da função não ler o que eu pretendo. Acho que deve ser algo bem simples mas como sou novo nisto não estou a conseguir detetar o que falha. É suposto esta função ler umas informações que estão num ficheiro em binário, o número do cc, nome da pessoa, local de partida e chegada do avião e dia do mês. Mas ao detetar o dia do mês a função em vez de escrever um número entre 1 - 30 escreve 256. Alguém percebe porquê?
×
×
  • Criar Novo...