Manual de Referência em C

Referência de funções básicas de C, para iniciantes.

dirent.h

Biblioteca contendo funções e definições de tipos para manipulação de diretórios de arquivos

DIR * opendir( const char * dirname );

Abre e retorna um ponteiro para um fluxo de diretório.

struct dirent * readdir( DIR * dir_p );

Retorna um ponteira para uma estrutura representando o diretório selecionado no parametro.

int closedir( DIR * dir_p );

Fecha um fluxo de diretório.

void rewinddir( DIR * dir_p );

Retorna a referência de posição de dir_p para o inicio do diretório.

DIR * scandir( const char * dir_p, int (*filter) (const struc dirent * ), int (*compar) *(const struct dirent **, const struct dirent **) );

Varre um diretório, filtra e ordena seu conteúdo.

opendir

DIR * opendir( const char * dirname );

param: const char * dirname - Caminho do diretório a ser aberto.

A função opendir() abre um fluxo de diretório especificado em dirname. O fluxo de diretório é retornado na primeira entrada de diretório contida no fluxo. Quando bem sucedida, a função retorna um ponteiro para o fluxo que poderá ser usado nas funções de leitura(readdir()), fechamento(closedir()) e reinício de fluxo(rewinddir()).

readdir

struct dirent * readdir( DIR * dir_p );

param: DIR * dir_p - Ponteiro para um fluxo de diretório a ser lido.

A função retorna um ponteiro para uma estrutura reprensenando a entrada de fluxo na posição atual do fluxo especificado em dir_p e move a posição do fluxo para a próxima entrada contida nele. Ao chegar ao fim do fluxo, a função retornará null. Caso alguma referencia do fluxo tenha sido modificada pela chamada assíncrona de outras funções de manipulação de fluxo, o retorno de uma nova chamada de readdir() será inespecífico.

closedir

int closedir( DIR * dir_p );

param: DIR * dir_p - Ponteiro para um fluxo de diretório a ser fechado.

Fecha um fluxo de diretório. Após seu uso, o ponteiro especificado em dir_p não apontará mais para um local válido.

rewinddir

void rewinddir( DIR * dir_p );

param: DIR * dir_p - Ponteiro para um fluxo de diretório a ser reiniciado.

Retorna a referência de entrada do fluxo para a primeira entrada, reiniciando o fluxo de diretório.

scandir

int scandir( const char *dir_p, int(*filter)(const struct dirent *), int(*compar)(const struct dirent **, const struct dirent **) );

param: const char * dir_p - Caminho do diretório a ser varrido.
param: int (*filter) - Ponteiro para função de filtragem de itens do diretório.
param: int (*compar) - Ponteiro para função de comparação e ordenação de itens do diretório.

A função scandir() varre o diretório especificado pelo caminho dir_p e adiciona em namelist() as entradas onde a função especificada em filter() retornar valores diferentes de zero, que então são ordenadas, usualmente via qsort, pela função especificada em compar(). Esta função é bastante conveniente para problemas de listagem e/ou seleção de entradas nos diretórios.