El compilador no encuentra el fichero de cabecera
ndir.h
:
<Tejo>/home/so/PRACTS$ c89 prueba.c -o prueba
cpp: "prueba.c", line 1: error 4036: Can't open include file 'ndir.h'.
SOLUCIÓN
En efecto, el fichero ndir.h
no está en tejo.
Como solución,
debéis hacer vosotros el trabajo que realiza el fichero de cabecera.
Fundamentalmente, consiste en definir el prototipo de la función
getdirentries
y en definir los tipos especiales que
use, en particular struct direct
.
Respecto a lo primero, basta con que copiéis el prototipo de la
función que viene en el resumen
después de la serie de #include
s.
Respecto a lo segundo, también tenéis que definir la estructura
direct
, pues venía en el fichero desaparecido.
Para ello, añadid las siguientes líneas después de los
#include
s, pero antes que el prototipo de
getdirentries
:
struct direct
{unsigned long d_fileno; /* inodo aprox. */
unsigned short d_reclen; /* longitud de la estructura */
unsigned short d_namlen; /* longitud del nombre */
char d_name[MAXNAMLEN + 1]; /* nombre del fichero */
};
Tenéis que añadir, no obstante, el fichero de cabecera
<dirent.h>
, para que la macro MAXNAMLEN esté
correctamente definida.
© 2000 Guillermo González Talaván.