Pular para o conteúdo

fwrite - O que é de errado? [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. fwrite - O que é de errado? [RESOLVIDO]

Enviado em 28/11/2013 - 18:05h

gente eu estou começando a manipular arquivo em c, até agora só tinha feito execícios simples com manipulação de arquivos binários, agora estou programando um programa de uma "biblioteca"(de livros não do c), em fim estou tendo problemas ao escrever um vetor de estrutura direto no arquivo(o vetor todo de uma vez e não estou obtendo exito) somente o primeiro elemento, como o código já está grande e eu já fucei bastante tentando concertar eu vou passar um código exemplo e quem souber me indica o erro que estou cometendo, que sabendo fazer um eu implemento no outro.

segue o código exemplo:


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

typedef struct Teste
{
int t1,t2;
}teste;

int main()
{
FILE *arquivo;
teste v[10];
int i;
if((arquivo=fopen("teste.bin","w+b"))==NULL)
puts("erro ao criar arquivo");
for(i=0;i<10;i++)
{
v[i].t1=1;
v[i].t2=2;
}
if(fwrite(v,sizeof(teste),10,arquivo)!=1)
puts("\nErro na escrita!");
fclose(arquivo);
}


esse código da erro e retorna 255

Responder tópico

2. Re: fwrite - O que é de errado? [RESOLVIDO]

Enviado em 28/11/2013 - 19:34h

Troque seu if por:

if(fwrite(v,sizeof(teste),sizeof(v),arquivo)!=sizeof(v))
puts("\nErro na escrita!");

3. Re: fwrite - O que é de errado? [RESOLVIDO]

Enviado em 28/11/2013 - 21:21h

bem acho que era a correreria que eu estava na hora que eu fiz, o erro era só uma falta de um & , bem emfim, ignorando o resto do código o que deu certo para mim foi:

[code]fwrite(&vetor,sizeof(vetor),1,ponteiro);

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder