Usando funções do sistema em C com "system"
Dica publicada em C/C++ / Miscelânea
Usando funções do sistema em C com "system"
Se você está programando em C em ambiente Linux e deseja
usar alguma função do sistema, esta dica será bastante útil.
Primeiramente funções do sistema são quaisquer funções que o
sistema execute como, por exemplo, aquelas conhecidas que você
utiliza enquanto está no console como "cat" (imprime um arquivo
na tela), "ls" (lista os arquivos e diretórios do diretório),
"mkdir" (cria um diretório), etc...
Primeiramente você deve declarar a biblioteca "stdlib.h", da qual faz parte a função que usaremos:
#include<stdlib.h>
A partir de então você já estará apto a utilizar no seu programa as funções desta biblioteca. A função em questão é a system que deve ser usada da seguinte forma:
(...)
system("função_do_sistema");
(...)
Logicamente a função deve ser usada dentro de um código para uma finalidade, seja ela qual for, sendo assim, no exemplo os "(...)" significam o desenvolvimento do seu programa.
Essa função se torna bastante útil, oferecendo ao programador a possibilidade de imprimir arquivos na tela, abrir programas e fazer inúmeras outras coisas de dentro do seu programa. Você pode ainda chamar o seu próprio programa de dentro dele mesmo trabalhando, assim, recursivamente.
O próximo exemplo é um código completo demonstrando uma aplicação funcional da função:
Primeiramente você deve declarar a biblioteca "stdlib.h", da qual faz parte a função que usaremos:
#include<stdlib.h>
A partir de então você já estará apto a utilizar no seu programa as funções desta biblioteca. A função em questão é a system que deve ser usada da seguinte forma:
(...)
system("função_do_sistema");
(...)
Logicamente a função deve ser usada dentro de um código para uma finalidade, seja ela qual for, sendo assim, no exemplo os "(...)" significam o desenvolvimento do seu programa.
Essa função se torna bastante útil, oferecendo ao programador a possibilidade de imprimir arquivos na tela, abrir programas e fazer inúmeras outras coisas de dentro do seu programa. Você pode ainda chamar o seu próprio programa de dentro dele mesmo trabalhando, assim, recursivamente.
O próximo exemplo é um código completo demonstrando uma aplicação funcional da função:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
/*aqui você pode mostrar ao usuário diversas opções relacionadas a números*/
int N;
scanf("%d",&N);
if(N==1){
system("reboot"); /*se o usuário tiver digitado 1 o sistema irá reiniciar*/
}
else{
if(N==2){
system("halt"); /* caso o usuário digitar 2 o sistema finalizará*/
}
else{
printf("Opção inválida");
}
}
}
#include<stdlib.h>
int main(void)
{
/*aqui você pode mostrar ao usuário diversas opções relacionadas a números*/
int N;
scanf("%d",&N);
if(N==1){
system("reboot"); /*se o usuário tiver digitado 1 o sistema irá reiniciar*/
}
else{
if(N==2){
system("halt"); /* caso o usuário digitar 2 o sistema finalizará*/
}
else{
printf("Opção inválida");
}
}
}
O código acima pode ser compilado através da linha de comando:
$ gcc nome_do_arquivo.c -o nome_de_saída
ou
$ g++ nome_do_arquivo.cpp -o nome_de_saída
Deixarei a seu critério o nome a ser salvo ou a extensão podendo ser ela .c ou .cpp.
Agora fica por conta de sua imaginação e criatividade. Pode se divertir programando e usando diversas funções do sistema. Espero que tenham gostado da minha primeira dica no VOL.
Suas dicas e críticas para eu melhorar serão bastante importantes. Qualquer dúvida escrevam me escrevam aqui mesmo no VOL.
Tipo:
scanf("%c", &argumento ); ( a sintaxe tá errada, mas deixa )
system("ls %c", argumento );
Eu não testei isso pra ver se funciona ainda.