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.