[ Foro de C ]
Hola de nuevo:
Tengo una duda:
Sabemos que la función fread (y fwrite) tiene los siguientes argumentos:
fread(void *ptr, size_t size, size_t nobj, FILE *stream);
...donde:ptr=Arreglo donde se guarda lo leido por fread();
size=Tamaño del objeto a leer.
nobj=Cantidad de objetos a leer.
stream=Puntero hacia el archivo desde el que leemos.
Me gustaría saber: ¿Puede nobj tener el valor CERO?
He experimentado pero no compila... ¿Ké puedo hacer? ¿Ponerlo dentro de un if como: if(nobj!=0){fread(...);}?
Espero la respuestaa : )
Saludos.
Carlos.
Hola:
Gracias por la respuestaa...
Bueno, la verdad es que sí compila (habia otro error... la disciplina y rigurosidad nunca sobran... : ), pero una vez que compila el programa se cae. Y sí, en este caso "nobj" es una variable que eventualmente podría valer cero... y resulta que cuando vale cero, el programa colapsa. ¿QUé puedo hacer?
Ah, otra cosa... es cierto que "nobj" valiendo CERO podría parecer no tener sentido... pero la verdad es que, por raro que parezca, lo tiene, y de hecho necesito que sea así para lo que hace mi programa : )
Saludos.
Carlos.
Holap:
Sí, es verdad... no tiene sentido leer 0 objetos... :P
Por eso mejor es la solucion del principio:
if (nobj != 0) { fread(...); ...}
Gracias por la respuestaa.
SAludos.
Carlos.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)