Funkcja systemu w języku C

Funkcja systemu w języku C

Konsola dowodzenia Linux jest niewątpliwie coś w rodzaju salonu wszystkich z nas, którzy są fanami tego systemu operacyjnego. Niezliczone polecenia, które oferuje Linux, są częścią naszego codziennego środowiska pracy i wielu z nich znamy i używamy na pamięć. Możliwość wykonania tych poleceń w Linux z naszego kodu C i interakcja bezpośrednio z systemem operacyjnym otwiera szereg bardzo przydatnych zasobów dla programisty.

W tym Wskazówka Linux Artykuł, wyjaśnimy wszystko, co musisz wiedzieć, aby wykonać polecenia z kodu C za pomocą system() funkcjonować. Wyjaśnimy teoretyczną strukturę tej funkcji, jej argumenty wejściowe i wyjściowe oraz rodzaj danych, które przyjmuje w każdym przypadku. Następnie zastosujemy to, czego nauczyliśmy się w praktycznym przykładzie, który zawiera fragmenty kodu, w których wykonujemy różne polecenia Linux z naszego kodu C.

Składnia funkcji System () w języku C

system int (const char *str);

Opis funkcji systemu () w języku c

system() Funkcja wykonuje polecenie w powładzie systemu Linux lub w innym systemie operacyjnym.

Jeśli polecenie jest wykonane poprawnie, system() zwraca „0”.

Ta funkcja ma wskaźnik do ciągu Str, jako jedyny argument wejściowy, który zawiera polecenie, które ma być wykonane w systemie dosłownie i bez błędów składniowych.

system() Funkcja wykonuje polecenia w systemie Linux, ale nie odzyskuje żadnych informacji ani nie zwraca żadnych wyników wykonanego polecenia.

System() jest częścią standardowej biblioteki „stdlib”. Aby go użyć, musimy uwzględnić go w naszym pliku kodu w następujący sposób:

#włączać

Kiedyś „stdlib.Biblioteka H ”jest uwzględniona, możemy użyć funkcji System ().

Następnie zobaczymy kilka przykładów korzystania z funkcji systemu () do wykonywania różnych poleceń w interpreterie Linux.

Przykład 1: Jak wykonać polecenie w interpreterie Linux za pomocą funkcji systemu () w c

W tym przykładzie otwieramy plik z funkcją fopen () i używamy funkcji systemu (), aby wysłać sygnał dźwiękowy do systemu w przypadku błędu otwierania.

Funkcja Fopen () zwraca 0, jeśli występuje błąd podczas otwierania pliku. Stawiamy tę wartość jako warunek w kwalifikacji IF i wykonujemy polecenie „sygnał dźwiękowy” w interpreterie z system () Aby poinformować użytkownika o jego błędzie.

Widzimy kod do tego celu na następnej ilustracji. Na ścieżce określającej plik umieszczamy nazwę nieistniejącego pliku, aby wygenerować błąd:


#włączać
#włączać
void main ()

Plik *f_ptr;
Char Buffer [250];
f_ptr = fopen („Dokumenty/ nie istnieją”, „r”);
if (f_ptr == 0)

system („sygnał dźwiękowy”)
printf („brak takiego pliku \ n”);

Przykład 2: Jak rozpoznać, czy polecenie wykonane za pomocą funkcji systemu () jest poprawnie interpretowane

W tym przykładzie wyjaśniamy, jak ustalić, czy polecenie jest wykonywane poprawnie w konsoli Linux. Błąd w wykonywaniu samego polecenia nie odnosi się do błędu w wykonywaniu funkcji systemu (). Dlatego system nie rejestruje tego wyjątku w zmiennej kodu błędu „Errno”.

Jak wspomniano w opisie, funkcja systemu () wykonuje polecenia w systemie, ale nie zwraca wyników.

Argumentem wyjściowym tej funkcji jest liczba całkowita, która zwraca „0”, jeśli polecenie zostanie pomyślnie wykonywane w systemie. W przeciwnym razie zwraca inną wartość.

Następnie widzimy fragment kodu, w którym używamy powrotu system() funkcja, aby ustalić, czy polecenie jest wykonywane poprawnie.

W tym kodzie wysyłamy polecenie „sygnał dźwiękowy”. Ale w praktyce tego przykładu możemy wysłać różne prawidłowe i niepoprawne polecenia do argumentu wejściowego system() funkcja, aby zobaczyć różne wyniki.

Używamy powrotu system() funkcjonować jako warunek w stanie IF-Else. Jeśli polecenie jest wykonane poprawnie, na ekranie wyświetlany jest komunikat z następującym tekstem:

„Polecenie zostało pomyślnie wykonane."

W przeciwnym razie wyświetlany jest następujący komunikat:

„Polecenie nie zostało rozpoznane lub nie można było wykonać."


#włączać
#włączać
void main ()

int a;
system („sygnał dźwiękowy”);
if (a == 0)
printf („polecenie zostało pomyślnie wykonane \ n”);
w przeciwnym razie
printf („polecenie nie zostało rozpoznane lub nie można było wykonać \ n”);

Wniosek

W tym Wskazówka Linux Artykuł, wyjaśniliśmy, jak korzystać z system() funkcja do wykonania poleceń w powładzie Linux. Przyjrzeliśmy się również argumentu wejściowego i danych, które przyjmuje, a także argument wyjściowy i wartość zwracania, gdy polecenie zostanie pomyślnie wykonane.

Ponadto podaliśmy kilka praktycznych przykładów z fragmentami kodu i obrazami, które pokazują, jak korzystać z tej funkcji, wywołując i wykonując różne polecenia interpretera Linux system(). Mamy nadzieję, że ten artykuł jest dla Ciebie przydatny. Aby uzyskać więcej takich artykułów, skorzystaj z naszej wyszukiwarki na stronie internetowej.