estou com um problema que está além da minha compreensão!
Estou fazendo uma árvore b+, e para gravar os nós no disco eu uso fwrite e fread.
Eu reparei que os registros estavam de sobrepondo no arquivo e percebi um comportamento muito estranho.
o sizeof do meu struct é 80.
Quando eu rodo o programa normalmente, ele funciona normalmente (aparentemente)
Quando eu rodo com o debugger (do codeblocks), o fwrite escreve ora 80, ora 81 bytes, e isso parece ser aleatório.
Quando eu tiro o ftell() que eu uso para testar o numero de bytes escritos, o mesmo comportamento estranho acontece (portanto suponho que também esteja escrevendo quantidades erradas de bytes)
Queria saber se há alguma explicação para isso
Se alguém tem idéia do que pode estar acontecendo!
Pergunta
phaffonso
Olá fórum,
estou com um problema que está além da minha compreensão!
Estou fazendo uma árvore b+, e para gravar os nós no disco eu uso fwrite e fread.
Eu reparei que os registros estavam de sobrepondo no arquivo e percebi um comportamento muito estranho.
o sizeof do meu struct é 80.
Quando eu rodo o programa normalmente, ele funciona normalmente (aparentemente)
Quando eu rodo com o debugger (do codeblocks), o fwrite escreve ora 80, ora 81 bytes, e isso parece ser aleatório.
Quando eu tiro o ftell() que eu uso para testar o numero de bytes escritos, o mesmo comportamento estranho acontece (portanto suponho que também esteja escrevendo quantidades erradas de bytes)
Queria saber se há alguma explicação para isso
Se alguém tem idéia do que pode estar acontecendo!
Obrigado desde já
Editado por phaffonsoLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.