Como listar diretórios de primeiro nível apenas em C?
Em um terminal eu posso ligar parals -d */
. Agora eu quero umc programa para fazer isso por mim, assim:
#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;
}
Isso vails -l
tudo. No entanto, quando estou tentando:
char *args[] = { "/bin/ls", "-d", "*/", NULL };
Eu vou receber um erro de tempo de execução:
ls: * /: Esse arquivo ou diretório não existe