fwrite - O que é de errado? [RESOLVIDO]

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

ian cléver sales fernandes
ianclever

(usa Arch Linux)

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


  


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

Ramon
ramonzitos

(usa Gentoo)

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]

ian cléver sales fernandes
ianclever

(usa Arch Linux)

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);






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts