problema con scandir()
Publicado por pablo (2 intervenciones) el 07/08/2008 13:11:48
Hola a todos!! Estoy haciendo una práctica en C bajo linux, me ha surgido un problema y estoy un poco atascado xq no se xq me ocurre, a ver si alguien puede ayudarme. Os cuento, basicamente mi duda es que al hacer un scandir para listar los archivos de un directorio, solo me devuelve un archivo y en el directorio hay varios. Os adjunto el codigo:
struct dirent **sdir = NULL;
char auxruta[20]="./archivos";
char archivos[MAXBUFF]="";
int numero_resultados=0;
strcat(auxruta,paquete.cmdStruct);
if(numero_resultados=scandir(auxruta,&sdir,NULL,NULL)>0)
{
printf("num_res: %d",numero_resultados);
for(i=0;i<numero_resultados;i++)
{
printf(" %s ",sdir[i]->d_name);
strcat(archivos,sdir[i]->d_name);
strcat(archivos,"#");
}
Cuando ejecuto me devuelve en numero_resultados 1 y hay mas archivos en la carpeta, no se si será algo del codigo que tengo mal pero vamos no veo el fallo.
Bueno gracias de antemano. Un saludo
struct dirent **sdir = NULL;
char auxruta[20]="./archivos";
char archivos[MAXBUFF]="";
int numero_resultados=0;
strcat(auxruta,paquete.cmdStruct);
if(numero_resultados=scandir(auxruta,&sdir,NULL,NULL)>0)
{
printf("num_res: %d",numero_resultados);
for(i=0;i<numero_resultados;i++)
{
printf(" %s ",sdir[i]->d_name);
strcat(archivos,sdir[i]->d_name);
strcat(archivos,"#");
}
Cuando ejecuto me devuelve en numero_resultados 1 y hay mas archivos en la carpeta, no se si será algo del codigo que tengo mal pero vamos no veo el fallo.
Bueno gracias de antemano. Un saludo
Valora esta pregunta


0