int main
( ) { < br >
int i = system ( " dir " ) ; //" i " ontvangt de terugkeer resultaat van het commando
Terug Resultaten
het systeem . ( ) functie geeft een geheel waarde die de status van het systeem oproep vertegenwoordigt . Wat deze status is afhankelijk van de aard van het argument doorgegeven aan het systeem ( ) . Als system () een teken pointer niets ( NULL ) ontvangt , dan system () een niet - nul integer te signaleren dat een commandoprocessor beschikbaar terugkeren . Als er geen processor beschikbaar is, retourneert de functie 0 . Als het systeem ( ) functie ontvangt een daadwerkelijke reeks , dan is het systeem ( ) stuurt die opdracht aan het systeem , en geeft een beëindiging statuut waarde van dat programma .
System ( ) Draagbaarheid < br >
het resultaat van het systeem ( ) is vooral afhankelijk van het besturingssysteem waarop de programmeur zich ontwikkelt op . Dientengevolge , de wijze waarop de programmer beroept systeem varieert . Een programma dat de "pauze " commando stuurt naar een Windows- systeem zal niet dezelfde resultaten krijgen als uitgevoerd op een Linux systeem . Linux- systemen niet hebben meestal een ingebouwde "pauze " commando . Daarom is een C-programma geschreven om een "systeem ( " PAUZE " ) " te voeren commando zal niet daadwerkelijk pauzeren uitvoering van code .
Varianten
Om een programma in C uit te voeren code , kan een programmeur in plaats daarvan kiezen om de execl ( ) -functie te gebruiken . Hoewel nog steeds platform afhankelijk, kan de programmeur de uitvoering van het programma wat nader te controleren . Ook is er minder systeemoverhead wanneer het programma niet hoeft te bellen naar het systeem, maar commando zelf uitvoert . Het volgende voorbeeld illustreert hoe de programmeur het execl ( ) functie zou kunnen noemen naar een map op een Linux-systeem :
# include int
main ( ) { < br
execl > ( " /bin /ls " , " /bin /ls" , " - a " , ( char * ) 0 ) ;
}
< br >