¿Cómo enumerar directorios de primer nivel solo en C?
En una terminal puedo llamar als -d */
. Ahora quiero unac programa para hacer eso por mí, así:
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <unistd.h>
int main( void )
{
int status;
char *args[] = { "/bin/ls", "-l", NULL };
if ( fork() == 0 )
execv( args[0], args );
else
wait( &status );
return 0;
}
Esta voluntadls -l
todo. Sin embargo, cuando estoy intentando:
char *args[] = { "/bin/ls", "-d", "*/", NULL };
Obtendré un error de tiempo de ejecución:
ls: * /: No existe tal archivo o directorio