[C con Clase] Diferenciar entre ficheros y directorios
djj dsjnsdf
udayajivi en gmail.com
Lun Nov 26 22:00:39 CET 2007
Buenas...
Por qué este código no diferencia entre archivos y directorios, el if
siempre sale true.
En el archivo de salida se ve que siempre me devuelve 16895 tanto para
ficheros como directorios
/+++++++++++++++++++++++++++++++++++++++/
#include <dirent.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/stat.h>
#include <iostream>
using namespace std;
int main(int argc, char * argv[])
{
DIR *pdir;
struct dirent *pent;
struct stat datosFichero;
int fd;
FILE * salida;
salida = fopen("Ruta para el fichero de salida\\Salida.txt", "w+");
pdir=opendir("Directorio");
while ((pent=readdir(pdir)))
{
stat (pent->d_name, &datosFichero);
if (S_ISDIR (datosFichero.st_mode)!=0)
cout << "[" << pent->d_name << "] es un directorio\n" << endl;
else
cout << "[" << pent->d_name << "] es un archivo\n" << endl;
fprintf(salida,"[%s] es [%hd]\n", pent->d_name,
datosFichero.st_mode);
}
fclose(salida);
closedir(pdir);
cin.get();
return 1;
}
/+++++++++++++++++++++++++++++++/
Gracias
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071126/3ea705eb/attachment.html>
Más información sobre la lista de distribución Cconclase