Ir para conteúdo
Fórum Script Brasil
  • 0

Manioulação De Arquivos


Guest --Lord --

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Opa!

A biblioteca dirent.h fornece recursos para manipulação de diretórios. Nela você tem a função opendir, que abre um diretório cujo caminho deve ser especificado em seu único argumento. Depois de ter o diretório aberto, você pode usar a função readdir, que tem como único argumento o ponteiro para uma estrutura DIR retornado por opendir, para percorrer o conteúdo do diretório. Esta última função retorna um ponteiro para uma estrutura do tipo struct dirent, a qual possui um membro string chamado d_name, que armazena os nomes de arquivos e diretórios dentro do seu diretório.

Você deve realizar várias chamadas à função readdir para obter o conteúdo do seu diretório. Por exemplo, se você tiver três arquivos no seu diretório, fará três chamadas a readdir, em cada uma delas o membro d_name da estrutura retornada terá o nome de cada arquivo presente no seu diretório. E quando o final do diretório é alcançado, readdir retorna NULL (você pode rewinddir para "voltar" ao início do diretório e poder usar readdir novamente; o único argumento de rewinddir é o ponteiro para DIR retornado por opendir). Finalmente, closedir recebe como único parâmetro a nossa estrutura DIR e fecha o diretório. Veja o exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>

int main() {
    DIR *dp;
    struct dirent *d;
    
    dp = opendir( "C:\\Docume~1\\Diego\\Desktop" );
    
    while ( ( d = readdir( dp ) ) != NULL )
       printf( "%s\n", d->d_name );
    
    closedir( dp );
    
    system( "pause" );
    return 0;
}

Agora, uma vez que você tem o nome dos arquivos no diretório, você pode filtrar a exibição (utilizando manipulação de strings) mostrando apenas arquivos com a extensão desejada. Ou pode dar uma busca mais profunda sobre essa biblioteca e ver se já existe algo mais eficiente.

Boa sorte!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...