A Biblioteca Padrão C detém uma série de funções e variáveis que ligam um programador para o sistema operacional que ela desenvolve seus programas dentro Porque C é principalmente uma linguagem de programação de sistemas, essas bibliotecas permitem ao programador enviar comandos diretamente para um sistema operativo . A função de "sistema" , em particular, permite ao programador executar comandos específicos do sistema , sem referência à programação C , de onde se origina a função . A função system () Função
O sistema () representa um comando na biblioteca padrão C que recebe como argumento um array de caracteres constante. Em essência, o argumento representa uma cadeia de estilo C, que por sua vez representa um comando para enviar para o sistema operacional. Assim, um programador poderia usar a chamada de função executar uma listagem de diretório em um computador Windows /DOS, como o seguinte exemplo :
# include
int main () {
int i = system (" dir" ); . //" i" recebe o resultado de retorno do comando
retornar resultados
o sistema (função) retorna um valor inteiro que representa o estado da chamada de sistema . O que isto representa estado , depende da natureza do argumento transmitido para o sistema ( ) . Se system () recebe um ponteiro de caracteres para nada (NULL) , então o sistema () irá retornar um inteiro diferente de zero para sinalizar que um processador de comandos está disponível. Se nenhum processador está disponível , a função retorna 0. Se a função () sistema recebe uma seqüência real , então o sistema () envia o comando para o sistema, e retorna um valor de status de terminação a partir desse programa .
System ( ) Portabilidade < br >
o resultado de system () depende principalmente do sistema operacional em que o programador desenvolve em . Como resultado , o modo em que o programador invoca sistema varia . Um programa que envia o comando "pause " para um sistema Windows não receberá os mesmos resultados se executado em um sistema Linux. Sistemas Linux normalmente não têm um comando de "pausa" built- in. Portanto, um programa em C escrito para executar um " system (" PAUSE " ) " o comando não vai realmente fazer uma pausa a execução do código .
Variantes
Para executar um programa em C código , um programador pode optar usar o execl () função. Enquanto plataforma ainda dependente , o programador pode controlar a execução do programa, um pouco mais de perto . Além disso, há menos sobrecarga do sistema quando o programa não precisa fazer chamadas para o sistema, mas executa comandos em si . O exemplo a seguir ilustra como o programador pode chamar a execl function () para listar um diretório em um sistema Linux:
# include
int main () { < br >
execl (" /bin /ls ", " /bin /ls ", " - a", (char * ) 0); }
< br >