La Biblioteca estándar de C tiene una serie de funciones y variables que se conectan a un programador para el sistema operativo que desarrolla sus programas in Debido C es principalmente un lenguaje de programación de sistemas , estas bibliotecas permiten al programador para enviar comandos directamente a un sistema operativo . La función de " sistema " , en particular, permite que el programador para ejecutar comandos específicos del sistema , sin referencia a la programación C desde donde se origina la función . La función system () Función
system () representa un símbolo de la biblioteca estándar de C que toma como argumento una matriz de caracteres constante. En esencia , el argumento representa una cadena de estilo C , que a su vez representa un comando para enviar al sistema operativo . Así que un programador podría utilizar la función de llamar ejecutar una lista de directorios en un ordenador Windows /DOS , como el siguiente ejemplo: # include
int main () {
int i = Sistema ( "dir " ) //" i" recibe el resultado devuelto por la orden
Mostrar resultados
sistema. () devuelve un valor entero que representa el estado de la llamada al sistema . Lo que esto representa el estado depende de la naturaleza del argumento pasado al sistema de ( ) . Si el sistema ( ) recibe un puntero de caracteres a nada ( NULL ) , entonces el sistema ( ) devolverá un número entero distinto de cero para indicar que un procesador de comandos está disponible . Si no hay ningún procesador está disponible , la función retorna 0 . Si el sistema () función recibe una cadena real , entonces el sistema () envía el comando al sistema y devuelve un valor de estado de finalización de ese programa .
System ( ) Portabilidad < br >
el resultado de sistema ( ) depende principalmente en el sistema operativo en el que el programador desarrolla en . Como resultado , la manera en que el programador invoca sistema varía . Un programa que envía el comando "pause " a un sistema Windows no recibirá los mismos resultados si se ejecuta en un sistema Linux. Sistemas Linux no suelen tener un comando "pause " built -in . Por lo tanto , un programa en C escrito para ejecutar un "sistema ( " PAUSE ") " comando en realidad no detener la ejecución de código .
Variantes
Para ejecutar un programa en C código , un programador podría preferir utilizar la función execl (). Si bien depende todavía plataforma , el programador puede controlar la ejecución del programa de un poco más de cerca . Además, hay menos sobrecarga del sistema cuando el programa no tiene que hacer llamadas al sistema, pero ejecuta los comandos en sí . El siguiente ejemplo ilustra cómo el programador puede llamar a la función execl () para listar un directorio en un sistema Linux :
# include
int main () {< br >
execl ("/bin /ls ", "/bin /ls" , "-a" , (char *) 0 ) ;
}
< br >