Systemfunksjon på C -språk

Systemfunksjon på C -språk

Linux -kommandokonsollen er utvilsomt noe som stuen til oss alle som er fans av dette operativsystemet. De utallige kommandoene som Linux tilbyr er en del av vårt daglige arbeidsmiljø, og mange av dem vi kjenner og bruker utenat. Muligheten for å utføre disse kommandoene i Linux fra C -koden vår og samhandle direkte med operativsystemet derfra åpner for en rekke veldig nyttige ressurser for programmereren.

I dette Linux hint Artikkel, vi vil forklare alt du trenger å vite for å utføre kommandoene fra C -koden ved hjelp av system() funksjon. Vi vil forklare det teoretiske rammeverket for denne funksjonen, dens inngangs- og utgangsargumenter og hvilken type data den godtar i hvert tilfelle. Vi vil deretter bruke det vi lærte i et praktisk eksempel som inkluderer kodebiter der vi utfører de forskjellige Linux -kommandoene fra C -koden vår.

Syntaks av systemet () -funksjonen på C -språk

int system (const char *str);

Beskrivelse av systemet () -funksjonen på C -språk

De system() Funksjon utfører en kommando i Linux System Shell eller et annet OS.

Hvis kommandoen utføres riktig, system() Returnerer “0”.

Denne funksjonen har en peker til strengen STR som det eneste inngangsargumentet, som inneholder kommandoen som skal utføres i systemet ordrett og uten syntaksfeil.

De system() Funksjon utfører kommandoene i Linux -systemet, men henter ingen informasjon eller returnerer resultatene fra den utførte kommandoen.

System() er en del av "stdlib" standardbiblioteket. For å bruke den, må vi inkludere den i kodefilen vår som følger:

#inkludere

En gang “stdlib.H ”-bibliotek er inkludert, vi kan bruke systemet () -funksjonen.

Deretter vil vi se noen eksempler på å bruke systemet () -funksjonen for å utføre de forskjellige kommandoene i Linux -tolken.

Eksempel 1: Hvordan utføre en kommando i Linux -tolken ved å bruke systemet () -funksjonen i C

I dette eksemplet åpner vi en fil med Fopen () -funksjonen og bruker systemet () -funksjonen for å sende et pip til systemet i tilfelle en åpningsfeil.

Fopen () -funksjonen returnerer 0 hvis en feil oppstår når du åpner filen. Vi setter denne verdien som en tilstand i en IF-betingelse og utfører “pip” -kommandoen i tolken med system () For å informere brukeren om feilen.

Vi ser koden for dette formålet i følgende illustrasjon. I banen som spesifiserer filen, legger vi navnet på en ikke-eksisterende fil for å generere en feil:


#inkludere
#inkludere
tomrom ()

Fil *f_ptr;
char buffer [250];
f_ptr = fopen ("dokumenter/ ikke eksisterer", "r");
if (f_ptr == 0)

system ("pip")
printf (“Ingen slik fil \ n”);

Eksempel 2: Hvordan gjenkjenne om kommandoen utført med systemet () -funksjonen tolkes riktig

I dette eksemplet forklarer vi hvordan vi skal avgjøre om kommandoen utføres riktig i Linux -konsollen. En feil i utførelsen av selve kommandoen refererer ikke til en feil i utførelsen av systemet () -funksjonen. Derfor logger systemet ikke dette unntaket i feilkodevariabelen, "Errno".

Som nevnt i beskrivelsen, utfører systemet () -funksjonen kommandoene på systemet, men returnerer ikke resultatene.

Utgangsargumentet til denne funksjonen er et heltall som returnerer “0” hvis kommandoen blir utført på systemet med hell på systemet. Ellers returnerer det en annen verdi.

Deretter ser vi et kodefragment der vi bruker returen til system() funksjon for å avgjøre om kommandoen utføres riktig.

I denne koden sender vi “pip” -kommandoen. Men for utøvelse av dette eksemplet kan vi sende de forskjellige riktige og uriktige kommandoene inn i inngangsargumentet til system() funksjon for å se de forskjellige resultatene.

Vi bruker returen av system() funksjon som en tilstand i en if-ests-tilstand. Hvis kommandoen utføres riktig, vises en melding på skjermen med følgende tekst:

“Kommandoen ble utført med hell.”

Ellers vises følgende melding:

“Kommandoen ble ikke gjenkjent eller ikke kunne utføres.”


#inkludere
#inkludere
tomrom ()

int a;
system ("pip");
if (a == 0)
printf (“Kommandoen ble utført med hell \ n”);
ellers
printf (“Kommandoen ble ikke gjenkjent eller ikke kunne utføres \ n");

Konklusjon

I dette Linux hint Artikkel, vi forklarte hvordan vi bruker system() funksjon for å utføre kommandoene i Linux -skallet. Vi har også sett på inngangsargumentet og dataene den aksepterer, samt utgangsargumentet og returverdien når kommandoen blir utført vellykket.

I tillegg har vi gitt noen praktiske eksempler med kodefragmenter og bilder som viser hvordan du bruker denne funksjonen ved å ringe og utføre de forskjellige kommandoene til Linux -tolken via system(). Vi håper at denne artikkelen er nyttig for deg. For flere artikler som dette, bruk søkemotoren vår på nettstedet.