RealPath 3 C função

RealPath 3 C função
Enquanto trabalha em sistemas operacionais Linux ou Windows, você pode encontrar muitos arquivos e diretórios. Todos os arquivos e diretórios de qualquer sistema operacional possuem algum caminho de seu diretório raiz. Em muitos sistemas operacionais, esse caminho pode ser visto na parte superior do explorador de arquivos para um determinado arquivo ou pasta. A biblioteca Posix C criou a função "Realpath" para exibir o caminho completo e original de qualquer arquivo do diretório atual específico. Vamos começar dentro do sistema operacional Kali Linux.

Exemplo 1:

Em nosso primeiro exemplo, examinaremos o código C simples de usar a função "Realpath" para obter o caminho real e todo de alguns arquivos do diretório de trabalho atual do sistema. Precisamos usar um total de 6 arquivos básicos de cabeçalho no início deste código incluído com o uso da palavra -chave "#include". Algumas bibliotecas são bibliotecas padrão para usar o fluxo de saída de entrada no código, outras estão aqui para utilizar os valores da string e outros são utilizados para executar o manuseio de exceção. A função principal deste código define uma matriz do tipo caractere chamada "buffer" com um tamanho interno de "Path Max" ou 0. Esta matriz é utilizada para salvar o caminho real e completo de alguns diretórios.

A função realpath () leva o “algum arquivo.Nome do arquivo txt ”com a matriz“ Buffer ”que é passada a ele como um argumento para armazenar todo o caminho. Um "caminho" do ponteiro do tipo de caractere é inicializado para apontar para o endereço de uma variável "buffer" que contém o caminho de um arquivo aprovado pela função realpath ().

Aqui, vem a declaração "if-else" para verificar se obtivemos a referência correta para o caminho do arquivo ou se o ponteiro "caminho" está vazio. Se ele retornar a referência correta, a função Printf será usada para exibir o texto “O caminho completo do arquivo de algum arquivo.txt: ”junto com o caminho real de um arquivo específico. Caso contrário, a declaração else será executada e a instrução PRINTF usada nela apresentará um erro usando a função "Strerror", tomando o "errno" como um argumento. A função Perror é usada para exibir o mesmo erro mais uma vez com o nome do erro "Realpath". Para obter o erro, a função de saída deste código encerra o programa o mais rápido possível. Vamos salvar nosso primeiro exemplo e compilá -lo para ver seus resultados.


Usamos o compilador GCC para compilar o Realpath.Arquivo C com a opção -o para gerar seu arquivo de objeto chamado “Realpath.fora ”dentro do mesmo diretório de trabalho. Este comando é bem -sucedido e obtivemos o mesmo nome de arquivo de objeto no diretório "src" doméstico, conforme a saída da instrução "LS".


Agora, executamos o arquivo de objeto que acabamos de criar com o “./”Personagens no mesmo diretório de trabalho. A saída deste comando nos mostra o caminho completo para este arquivo específico, começando na pasta root, como o “/home/linux/src/algum arquivo.TXT".

Exemplo 2:

Vamos começar com outro exemplo para utilizar a função RealPath () para obter o caminho real de alguns arquivos. Dentro deste código C, adicionamos os mesmos 6 arquivos de cabeçalho com a palavra -chave "#include". Depois disso, a função principal () é inicializada com a variável do tipo de caractere "caminho do link" que armazena algum caminho como o "/src/algum arquivo.TXT". Uma matriz de “caminho real” é usada para armazenar o caminho real do “algum arquivo.arquivo txt "com" +1 "para buscar o caminho de um arquivo mencionado após o segundo caractere"/". Outro ponteiro "PTR" do tipo de personagem é definido.

Passamos a variável do ponteiro do caminho do link e a matriz de caminho real para a função RealPath () para obter todo o caminho do “/src/algum arquivo.txt "para a matriz" Caminho real ". O resultado retornado é salvo na variável de ponteiro "PTR". Dentro da parte "se", se o "PTR" retornar o resultado da função RealPath () que contém algum número de referência, a instrução printf exibe o caminho real através da matriz de caminho real. Caso contrário, a parte eliminada deste código é executada e gera um erro através do uso da função estérror usando a variável "errno" como argumento. A função de saída é encerrar este programa.


Compilamos este código C com o compilador GCC e criamos seu “RealPath1.OUT ”arquivo de objeto precedido pela opção -o.


Depois de executar seu arquivo de objeto com o “./”Personagem, recebemos o erro porque não fornecemos o formato correto do caminho do arquivo“/src/algum arquivo.TXT".


Vamos atualizar o código mais uma vez para evitar esse erro logo após a execução do arquivo de objeto. Atualizamos sua primeira linha na função principal,. O ponteiro do tipo de caractere "caminho do link" que contém o arquivo específico com uma pasta abaixo é atualizada. Agora, adicionamos o nome de um “algum arquivo.arquivo txt ”que reside no diretório de trabalho atual“ SRC ”em vez do“/src/algum arquivo.caminho txt ”para a pasta de diretório de trabalho. O restante do código é usado sem nenhuma alteração. Salve e execute este código para ver os resultados.


Depois de compilar este arquivo C com o compilador GCC e criar seu “RealPath1.OUT ”arquivo de objeto com o objeto -o, ele está pronto para ser executado.


Após a execução do arquivo de objeto C, o caminho real e completo do arquivo específico “Algum arquivo.txt ”é mostrado na tela do terminal.

Conclusão

Este artigo é sobre o uso do método real da biblioteca Posix C para mostrar o caminho real e completo de algum arquivo específico. Para isso, tentamos os dois exemplos C na plataforma Kali Linux. Em nossos exemplos, analisamos como essa função reage a um único nome de arquivo ou com um caminho específico.