Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2007, 09:37
alfredo_m
 
Fecha de Ingreso: junio-2007
Mensajes: 44
Antigüedad: 17 años, 6 meses
Puntos: 0
Problemas con fread y fwrite

Hola bueno este es el problema, estoy trabajando con Dev-c++, sobre windows:

cundo intento de colocar

Código:
    fwrite(prue,sizeof(struct prueba),1,fila); 
    fread(ver,sizeof(struct prueba),1,fila);
me sale el siguiente error:

cannot convert `main(int, char**)::prueba' to `void*' for argument `1' to `size_t fread(void*, size_t, size_t, FILE*)'
ahora si lo coloco así

Código:
    fwrite(&prue,sizeof(struct prueba),1,fila); 
    fread(&ver,sizeof(struct prueba),1,fila);
no me hace problema, pero al escribir me escribe cualquier cosa y no lee nada.
cuando leo c/u como caracter no me hace problema, pero si lo coloco como entero o cualquier otro tipo, me lanza el mismo error.

Ej:
Código:
FILE *fila;
int largo, ancho;
 fila=fopen("prueba.txt","r+");
    if(fila==NULL){
printf("No se pudo abrir el archivo\n");
    fclose(fila);
       }
else{

fread(largo,1,1,fila);//=>asi me lanza el error;
fread(&largo,1,1,fila);//=>así no hay errores, pero me devuelve el codico ascii del 
//caracter
}
He probado de todo con sizeof(int), sizeof(usign int), pero no pasa nada, que estoy haciendo mal o tengo que ocupar otra librería.
Código:
#include <cstdlib>
#include <iostream>
#include <stdio.h>