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>