O tipo de dados DIR é usado para expressar um fluxo de diretório, embora não deva ser alocado pelo usuário. Veremos como esse método é usado em alguns códigos C neste artigo.
Exemplo 01:
Usando o editor do VIM, produzimos o “OpendirFile.Arquivo C ”. Você pode escolher qualquer editor, incluindo Nano. Quando o arquivo for aberto no editor do VIM, digite o código mostrado na captura de tela a seguir. O diretório atual que é abreviado como o ponto (.) é aberto e fechado no código a seguir:
A saída do código anterior é:
As funções para leitura e manipulação de diretórios/pastas estão disponíveis no idioma C. Ele permite que seus programas lidem com os arquivos e executem outras operações relacionadas a arquivos.
Exemplo 02:
Agora, escrevemos o código avançado para entender o conceito completo e aprender a executá -lo e compilá -lo. Os arquivos do cabeçalho estão incluídos nas duas primeiras linhas. Depois disso, a principal assinatura da função é chamada. Você pode ver que recebemos o nome do diretório das entradas da linha de comando da função principal e passamos para a função ondir. Dentro da função de bloco principal, a primeira linha é uma estrutura direta, que é essencialmente uma representação do sistema de diretório. Pode conter o número de série do arquivo, bem como os nomes das pastas encontradas no caminho fornecido.
Definimos uma variável do tipo ponteiro chamada PDIR na segunda linha do código. Depois disso, há uma declaração condicional que é usada principalmente para verificar se a linha de comando contém a quantidade correta de argumentos. Se os valores fornecidos forem inválidos, imprima a mensagem e saia da função sem executar o seguinte código. Se a entrada estiver correta, armazene -a na variável pdir e verifique se não é nulo. Se for nulo, significa que não há diretório ou o caminho está incorreto ou ilegal.
Nesse caso, a declaração de retorno é executada e o compilador encerra a execução das linhas do código abaixo. Se o parâmetro PDIR não for nulo, indica que o nome do diretório fornecido pelo usuário é legítimo e correto e que o diretório existe, o que pode incluir os arquivos e pastas. A função readdir é usada dentro do while loop nas seguintes linhas de código para exibir os nomes de arquivos e pastas que existem neste diretório. No final da linha, fechamos a variável pdir. Para obter uma lista abrangente dos arquivos que você gerou no diretório de trabalho, use o comando "LS". Veja a seguinte tela para obter mais detalhes:
Depois disso, use o compilador GCC para compilar o arquivo C. Se o seu sistema não tiver um compilador GCC, use o seguinte comando para instalar o compilador em seu sistema operacional ou máquina virtual:
$ sudo apt update
$ sudo apt install build-essencial
Você pode verificar se você já o instalou em seu sistema operacional ou máquina virtual, executando o seguinte comando:
GCC -version
Agora, você tem tudo o que precisa para compilar e executar/executar o código C. Para começar, use o comando dado na imagem para construir o código. Depois disso, digite “GCC” e o nome do arquivo que você deseja compilar ou produzir um objeto ou arquivo de saída para. Se você não especificar os argumentos restantes na linha de comando, a saída será gerada e salva em um “a.OUT ”arquivo.
No entanto, se você quiser nomear seu arquivo de saída do que quiser, digite “-o”. Em seguida, digite o nome do arquivo de saída seguido pelo “.fora ”extensão.
Antes de avançar, mais algumas coisas que você precisa saber é que, no Macintosh e no Windows posterior, o termo "pasta" é usado. Costumava ser um diretório, uma lista de arquivos salvos na mídia de armazenamento. Para executar o arquivo, basta usar o seguinte comando que inclui o “./Nome do arquivo de saída.fora". Como você pode ver, se executarmos o arquivo de saída sem nenhum argumento da linha de comando, como um caminho de diretório, recebemos um erro afirmando que a entrada é inválida.
Quando executamos o arquivo de saída, fornecemos o nome do diretório na tela seguinte. Você pode ver a lista de arquivos e pastas que existem no diretório de obras depois de pressionar a tecla Enter.
Outra opção para fornecer o nome do diretório é digitar todo o caminho do diretório ou apenas a parte do caminho onde estamos localizados agora. No exemplo a seguir, fornecemos os "Works/Works", que incluem nosso trabalho atual seguido de obras e, em seguida, dentro da pasta Works.
Como você pode ver no exemplo a seguir, especificamos um nome de diretório ou pasta que não existe no diretório atual em que nosso arquivo de saída está localizado. Se o PDIR retornar NULL, exibimos ou relatamos um erro indicando que o diretório não pode ser aberto.
Conclusão
Este artigo é tudo sobre o uso da função ondir () de C em Kali Linux com a demonstração de seu processo de trabalho. Discutimos os exemplos simples e eficientes de C para alcançar os resultados necessários. As outras funções POSIX são usadas para a ajuda lateral nos códigos.