C- Standard biblioteket rummer et væld af funktioner og variable , der forbinder en programmør til operativsystemet hun udvikler sine programmer i. Fordi C er primært en systemer programmeringssprog, disse biblioteker tillader programmøren at sende kommandoer direkte til et operativsystem . Den " system" -funktionen i særdeleshed gør det muligt for programmøren at udføre systemet specifikke kommandoer , uden henvisning til C -programmering , hvorfra funktionen stammer . Systemet () Funktion
system () -funktionen er en kommando i standard C -biblioteket , der tager sit argument en konstant karakter array. I det væsentlige repræsenterer argumentet en C - stil streng , som igen udgør en kommando at sende til operativsystemet . Så en programmør ville bruge funktionen kalde udføre en mappe notering på en Windows /DOS computer , som i følgende eksempel : Hej
# include
int main () { < br >
int i = systemet ( " dir " ) //"i" modtager tilbagevenden resultatet af kommandoen
Returner resultater
system. ( ) returnerer en heltalsværdi , der repræsenterer status af systemet opkaldet . Hvad denne status repræsenterer afhænger af arten af argument sendt til systemet ( ) . Hvis systemet () modtager et tegn pointer til ingenting (NUL ) , så systemet () returnerer en ikke-nul heltal at signalere, at en kommando processor er tilgængelig . Hvis der ikke processor er tilgængelig, returnerer funktionen 0 . Hvis systemet () funktion modtager en faktiske strengen , og derefter system () sender denne kommando til systemet , og returnerer en opsigelse status værdi fra det pågældende program.
System ( ) Bærbar < br >
resultatet af system () afhænger primært operativsystem, som programmøren udvikler sig på . Som et resultat heraf varierer den måde, hvorpå programmøren påberåber systemet . Et program, der sender "pause " kommando til en Windows-system vil ikke modtage de samme resultater, hvis henrettet på et Linux-system . Linux-systemer typisk ikke har en indbygget " pause " kommando . Derfor er en C-program skrevet til at udføre et "system ( " PAUSE " ) " kommando vil faktisk ikke pause kode.
Varianter
For at udføre et program i C kode , kan en programmør i stedet vælge at bruge execl ( ) funktion. Mens stadig platform afhængige, kan programmøren kontrollere udførelsen af programmet lidt nærmere . Også, der er mindre systemet overliggende når programmet ikke behøver at foretage opkald til systemet, men udfører kommandoer selv. Følgende eksempel illustrerer, hvordan programmøren kunne kalde execl () funktion til at liste en mappe på et Linux system : Hej
# include
int main () { < br >
execl ( " /bin /ls ", " /bin /ls ", " - a", ( char * ) 0 ),
}
< br >