La bibliothèque standard C détient une foule de fonctions et de variables qui relient un programmeur pour le système d'exploitation , elle développe ses programmes po Parce que C est avant tout un langage de programmation de systèmes, ces bibliothèques permettent au programmeur d'envoyer des commandes directement à un système d'exploitation . La fonction «système» en particulier permet au programmeur d'exécuter des commandes spécifiques au système , sans référence à la programmation C , d'où la fonction est originaire. La fonction system () La fonction system () représente une commande dans la bibliothèque standard C qui prend comme argument un tableau de caractères constante. En substance, l'argument représente une chaîne C- style, qui représente à son tour une commande à envoyer au système d'exploitation. Ainsi, un programmeur d'utiliser la fonction d'appel exécuter un répertoire sur un ordinateur Windows /DOS , comme dans l'exemple suivant : # include int main () { int i = system (" dir" ) ; //"i" reçoit le résultat de retour de la commande retourner des résultats du système. () retourne une valeur entière qui représente l'état de l'appel système . Qu'est ce statut représente dépend de la nature de l'argument passé à la fonction system () . Si system () reçoit un pointeur de caractère à rien (NULL) , puis system () retourne un entier non nul pour signaler qu'un processeur de commande est disponible . Si aucun processeur est disponible , la fonction retourne 0. Si la fonction system () reçoit une chaîne réelle , alors le système () envoie cette commande au système, et renvoie une valeur d'état de terminaison de ce programme. System ( ) Portabilité < br > Photos le résultat de system () dépend principalement sur le système d'exploitation sur lequel le programmeur développe sur . En conséquence, la manière dont le programmeur invoque système varie . Un programme qui envoie la commande «pause» à un système Windows ne recevra pas les mêmes résultats si elle est exécutée sur un système Linux. Les systèmes Linux n'ont généralement pas une commande intégrée "pause" . Par conséquent, un programme C écrit pour exécuter un " system (" PAUSE " ) " commande ne sera pas réellement l'exécution de code de pause. Variantes Pour exécuter un programme en C code, un programmeur pourrait plutôt choisir d'utiliser la fonction execl (). Alors qu'il était encore dépendant de la plateforme , le programmeur peut contrôler un peu plus près l'exécution du programme. Aussi, il ya moins de frais généraux du système lorsque le programme n'a pas besoin de faire des appels au système, mais exécute les commandes lui-même. L'exemple suivant illustre comment le programmeur pourrait appeler le execl () pour lister un répertoire sur un système Linux: # include int main () { < br > execl ( "/bin /ls ", " /bin /ls" , "-a" , (char *) 0); } < br > Photos
|