Systemfunktion in der C -Sprache

Systemfunktion in der C -Sprache

Die Linux Command Console ist zweifellos so etwas wie das Wohnzimmer von uns allen, die Fans dieses Betriebssystems sind. Die unzähligen Befehle, die Linux anbietet. Die Möglichkeit, diese Befehle in Linux aus unserem C -Code auszuführen und direkt mit dem Betriebssystem von dort aus zu interagieren.

In diesem Linux -Hinweis Artikel, wir werden alles erklären, was Sie wissen müssen, um die Befehle aus dem C -Code mit dem auszuführen System() Funktion. Wir erläutern den theoretischen Rahmen dieser Funktion, ihre Eingabe- und Ausgabemarions und die Art der Daten, die sie jeweils akzeptiert. Wir werden dann das anwenden, was wir in einem praktischen Beispiel gelernt haben, das die Code -Snippets enthält, in denen wir die verschiedenen Linux -Befehle aus unserem C -Code ausführen.

Syntax der Funktion System () in der C -Sprache

Int System (const char *str);

Beschreibung der Funktion System () in C -Sprache

Der System() Funktion führt einen Befehl in der Linux -Systemschale oder eines anderen Betriebssystems aus.

Wenn der Befehl richtig ausgeführt wird, System() Gibt "0" zurück.

Diese Funktion hat einen Zeiger auf den String -STR als einziges Eingabeargument, der den Befehl enthält, der im System wörtlich und ohne Syntaxfehler ausgeführt wird.

Der System() Die Funktion führt die Befehle im Linux -System aus, ruft jedoch keine Informationen ab oder gibt keine Ergebnisse des ausgeführten Befehls zurück.

System() ist Teil der Standardbibliothek „STDLIB“. Um es zu verwenden, müssen wir es wie folgt in unsere Codedatei aufnehmen:

#enthalten

Einmal das „stdlib.H ”Bibliothek ist enthalten, wir können die Funktion System () verwenden.

Als nächstes sehen wir einige Beispiele für die Verwendung der Funktion System (), um die verschiedenen Befehle im Linux -Interpreter auszuführen.

Beispiel 1: So führen Sie einen Befehl im Linux -Interpreter mit der Funktion System () in c aus

In diesem Beispiel öffnen wir eine Datei mit der Funktion fopen () und verwenden die Funktion System (), um bei einem Öffnungsfehler einen Piepton an das System zu senden.

Die Funktion fopen () gibt 0 zurück, wenn beim Öffnen der Datei ein Fehler auftritt. Wir setzen diesen Wert als Bedingung in eine IF-Bedingung ein und führen den Befehl „Beep“ im Interpreter mit "Beep" aus System( ) Um den Benutzer über den Fehler zu informieren.

Wir sehen den Code für diesen Zweck in der folgenden Abbildung. In dem Pfad, der die Datei angibt, setzen wir den Namen einer nicht existierenden Datei ein, um einen Fehler zu generieren:


#enthalten
#enthalten
void main ()

Datei *f_ptr;
Zeichenpuffer [250];
f_ptr = fopen ("Dokumente/ nicht existieren", "r");
if (f_ptr == 0)

System ("Beep")
printf ("keine solche Datei \ n");

Beispiel 2: So erkennen Sie, ob der mit der Funktion System () ausgeführte Befehl korrekt interpretiert wird

In diesem Beispiel erklären wir, wie Sie feststellen können, ob der Befehl in der Linux -Konsole korrekt ausgeführt wird. Ein Fehler in der Ausführung des Befehls selbst bezieht sich nicht auf einen Fehler in der Ausführung der Funktion System (). Daher protokolliert das System diese Ausnahme nicht in der Fehlercodevariablen „Errno“.

Wie in der Beschreibung erwähnt, führt die Funktion System () die Befehle im System aus, gibt die Ergebnisse jedoch nicht zurück.

Das Ausgabeargument dieser Funktion ist eine Ganzzahl, die „0“ zurückgibt, wenn der Befehl erfolgreich auf dem System ausgeführt wird. Ansonsten gibt es einen anderen Wert zurück.

Als nächstes sehen wir ein Codefragment, in dem wir die Rückgabe der verwenden System() Funktion zum Bestimmen, ob der Befehl korrekt ausgeführt wird.

In diesem Code senden wir den Befehl "Beep". Für die Praxis dieses Beispiels können wir jedoch die verschiedenen richtigen und falschen Befehle in das Eingabargument der Eingabe senden System() Funktionen, um die verschiedenen Ergebnisse zu sehen.

Wir verwenden die Rückgabe der System() Funktionieren Sie als Bedingung in einem IF-ELSE-Zustand. Wenn der Befehl korrekt ausgeführt wird, wird auf dem Bildschirm eine Nachricht mit dem folgenden Text angezeigt:

„Der Befehl wurde erfolgreich ausgeführt.”

Andernfalls wird die folgende Nachricht angezeigt:

„Der Befehl wurde nicht erkannt oder konnte nicht ausgeführt werden.”


#enthalten
#enthalten
void main ()

int a;
System ("Beep");
if (a == 0)
printf ("Der Befehl wurde erfolgreich ausgeführt \ n");
anders
printf ("Der Befehl wurde nicht erkannt oder konnte nicht ausgeführt werden \ n");

Abschluss

In diesem Linux -Hinweis Artikel, wir haben erklärt, wie man das benutzt System() Funktion zur Ausführung der Befehle in der Linux -Shell. Wir haben uns auch das Eingabargument und die von ihnen akzeptierten Daten sowie das Ausgabemargument und den Rückgabewert angesehen, wenn der Befehl erfolgreich ausgeführt wird.

Darüber hinaus haben wir einige praktische Beispiele mit Codefragmenten und Bildern gegeben System(). Wir hoffen, dass dieser Artikel für Sie nützlich ist. Weitere Artikel wie diese verwenden Sie unsere Suchmaschine auf der Website.