Função do sistema na linguagem C

Função do sistema na linguagem C

O console de comando Linux é sem dúvida algo como a sala de estar de todos nós que somos fãs deste sistema operacional. Os inúmeros comandos que o Linux oferece fazem parte de nosso ambiente de trabalho diário e muitos deles conhecemos e usamos de cor no coração. A possibilidade de executar esses comandos no Linux a partir do nosso código C e interagir diretamente com o sistema operacional a partir daí abre uma série de recursos muito úteis para o programador.

Nisso Linux Dica artigo, explicaremos tudo o que você precisa saber para executar os comandos do código C usando o sistema() função. Explicaremos o arcabouço teórico dessa função, seus argumentos de entrada e saída e o tipo de dados que aceita em cada caso. Em seguida, aplicaremos o que aprendemos em um exemplo prático que inclui os trechos de código onde executamos os vários comandos Linux do nosso código C.

Sintaxe da função System () na linguagem C

int o sistema (const char *str);

Descrição da função System () na linguagem C

O sistema() A função executa um comando no shell do sistema Linux ou outro sistema operacional.

Se o comando for executado corretamente, sistema() Retorna “0”.

Esta função tem um ponteiro para a string str como seu único argumento de entrada, que contém o comando a ser executado no sistema literalmente e sem erros de sintaxe.

O sistema() A função executa os comandos no sistema Linux, mas não recupera nenhuma informação ou retorna quaisquer resultados do comando executado.

Sistema() faz parte da biblioteca padrão "stdlib". Para usá -lo, devemos incluí -lo em nosso arquivo de código da seguinte forma:

#incluir

Uma vez o “stdlib.A biblioteca H ”está incluída, podemos usar a função System ().

Em seguida, veremos alguns exemplos de uso da função System () para executar os vários comandos no intérprete Linux.

Exemplo 1: Como executar um comando no intérprete Linux usando a função System () em C

Neste exemplo, abrimos um arquivo com a função FOPEN () e usamos a função System () para enviar um sinal sonoro ao sistema em caso de erro de abertura.

A função fopen () retorna 0 se ocorrer um erro ao abrir o arquivo. Colocamos esse valor como uma condição em uma condição IF e executamos o comando "Beep" no intérprete com sistema( ) Para informar o usuário sobre seu erro.

Vemos o código para esse fim na seguinte ilustração. No caminho que especifica o arquivo, colocamos o nome de um arquivo inexistente para gerar um erro:


#incluir
#incluir
void main ()

Arquivo *f_ptr;
buffer de char [250];
f_ptr = fopen ("documentos/ não existe", "r");
if (f_ptr == 0)

Sistema ("Beep")
printf (“não esse arquivo \ n");

Exemplo 2: Como reconhecer se o comando executado com a função System () é interpretado corretamente

Neste exemplo, explicamos como determinar se o comando é executado corretamente no console Linux. Um erro na execução do próprio comando não se refere a um erro na execução da função do sistema (). Portanto, o sistema não registra essa exceção na variável do código de erro, "errno".

Como mencionado na descrição, a função System () executa os comandos no sistema, mas não retorna os resultados.

O argumento de saída desta função é um número inteiro que retorna "0" se o comando for executado com sucesso no sistema. Caso contrário, ele retorna outro valor.

Em seguida, vemos um fragmento de código onde usamos o retorno do sistema() função para determinar se o comando é executado corretamente.

Neste código, enviamos o comando "Beep". Mas para a prática deste exemplo, podemos enviar os vários comandos corretos e incorretos para o argumento de entrada do sistema() função para ver os diferentes resultados.

Usamos o retorno do sistema() Funcionar como uma condição em uma condição de if-else. Se o comando for executado corretamente, uma mensagem será exibida na tela com o seguinte texto:

“O comando foi executado com sucesso.”

Caso contrário, a seguinte mensagem é exibida:

“O comando não foi reconhecido ou não pôde ser executado.”


#incluir
#incluir
void main ()

int a;
sistema ("bipe");
se (a == 0)
printf ("O comando foi executado com sucesso \ n");
outro
printf ("O comando não foi reconhecido ou não pôde ser executado \ n");

Conclusão

Nisso Linux Dica artigo, explicamos como usar o sistema() função para executar os comandos no shell Linux. Também analisamos o argumento de entrada e os dados que ele aceita, bem como o argumento de saída e o valor de retorno quando o comando é executado com sucesso.

Além disso, damos alguns exemplos práticos com fragmentos de código e imagens que mostram como usar essa função chamando e executando os vários comandos do intérprete Linux via sistema(). Esperamos que este artigo seja útil para você. Para mais artigos como este, use nosso mecanismo de pesquisa no site.