Problemas com consulta de dados de uma struct

3 respostas
T

Pessoal, eu tô fazendo um projeto em grupo para fazer um banco de dados de uma loja de jogos. O problema que eu tô enfrentando é na consulta de dados

Ex.: Foi criada uma variável estruturada para funcionário assim:

typedef struct{
     char nome[200];
     char data_nascimento[10];
     char RG[9];
     char CPF[14];
     char email[100];
     char telefone[13];
     char endereco[200];
     float salario;

     int ativo;
     char usuario[10];
     char senha[10];
 }

A partir disso, quando vou fazer uma consulta de um funcionário qualquer e peço pra ver a data de nascimento, mostra a data de nascimento, rg cpf e email tudo de uma vez.

Se alguém conhecer um motivo comum para isso acontecer, eu peço ajuda pra resolver isso.

3 Respostas

peczenyj

Eu tenho a impressão que seus arraya não terminam com o último elemento sendo ‘\0’ então quando você tenta escrever como uma “string” acaba lendo outras posições adjacentes de memoria.

Um array não tem “tamanho” (é mais complexo q isso). Vc pode acessar a posição 100 de um array de tamanho 20 (pq vc faz um offset do ponteiro) Este é um conhecido jeito de atacar programas em C : buffer overflow

Quer resolver? Posta o código. Certamente tem funções que vão ajudar com strcpy e strncpy

E

poderia postar o código completo?

T

o problema era justamente esse, obrigado por responder e desculpe a demora para dizer que o problema foi resolvido.

e o código ele tá muito grande, com mais de 4000 linhas

Criado 7 de dezembro de 2016
Ultima resposta 15 de dez. de 2016
Respostas 3
Participantes 3