Jak korzystać z wywołania systemu LSEEK w C

Jak korzystać z wywołania systemu LSEEK w C

Wezwanie systemowe LSEEK zostało użyte do odczytania określonych znaków lub danych z pliku lub do zapisu niektórych treści w określonej lokalizacji dowolnego pliku. Oznacza to, że możesz odczytać lub pisać między zawartością pliku.

Składnia:

OFF_T LSEEK (int fd, off_t offset, int hence);

To połączenie systemowe „LSEEK” wymaga dwóch plików nagłówka, e.G., „Sys/typy.h ”i„ unistd.H". Połączenie systemowe LSEEK wymaga trzech parametrów. Pierwszy to „FD”, który jest deskryptorem pliku. Drugi to „offset”, używany do ustawienia wskaźnika. A trzeci parametr „skąd” służy do określenia pozycji wskaźnika pliku, e.G., początek, koniec, w połowie.

Zainstaluj strony:

Aby sprawdzić dodatkowe informacje dotyczące połączeń systemowych, musisz zainstalować pakiet ManPage-dev. Spróbuj więc uruchomić terminal Linux Shell za pomocą klawisza skrótu Ctrl+ alt+ t lub przeszukaj go z obszaru aktywności. Po pomyślnym uruchomieniu terminal polecenia wykonaj poniższe zapytanie instalacyjne APT, aby zainstalować bibliotekę ManPage-dev. Wymaga to, aby kod przełębia bieżącego kontynuowania instalacji. Wprowadź hasło i dotknij klawisza Enter od maszyny do pisania. Proces instalacji zostanie uruchomiony i rozpocznie gromadzenie informacji.

$ sudo apt Zainstaluj ManPages-dev

Proces instalacji sprawi, że będziesz czekać na trochę czasu. Po zakończeniu instalacji możesz teraz sprawdzić informacje dotyczące polecenia „LSEEK”. Więc napisz poniższe polecenie „Man 2” wraz z nazwą wywołania systemu. Jak widać, sprawdzamy „Lseek” w poniższej instrukcji.

$ man 2 lseek

Strona Man dla połączenia systemowego „LSEEK” została otwarta poniżej. Możesz uzyskać wszystkie informacje dotyczące tego.

Zainstaluj kompilator GCC:

Teraz nadszedł czas, abyśmy zainstalowali kompilator GCC do kompilacji plików języka C. Musisz więc użyć bardzo prostego polecenia apt instal w powładzie, aby zainstalować je podczas używania rozszerzenia kompilatora jako nazwy słowa kluczowego poniżej.

$ sudo apt instal gcc

Wykonanie instalacji zajmie ci mały czas. Po zainstalowaniu pakietu GCC system Linux jest gotowy do użycia w nim plików języka c.

Przykład 01:

Zanim przejdź głęboko, aby zrozumieć koncepcję wywołania systemu LSEEK, musisz zacząć od prostego typu pliku. Więc uruchom terminal i wypróbuj poniższe polecenie dotykowe, aby utworzyć prosty plik o nazwie „Seek” w katalogu domowym dystrybucji Linux.

$ Touch Seek

Dodaj kilka danych do pliku „szukaj” i zapisz je. Możesz zobaczyć plik „szukaj” zawartości w skorupce wiersza polecenia za pomocą prostego zapytania „CAT” poniżej. Treść pliku ma niektóre alfabety i liczby wraz ze znakiem „*”.

$ cat szuka

Utwórzmy plik typu C „test test.c ”Używając słowa kluczowego nano, aby bezpośrednio otworzyć go z nano edytorem. Spróbuj wykonać poniższe polecenie, aby to zrobić.

Test $ nano.C

Sprawdźmy jeden program bez polecenia LSEEK. Otworzy edytor tekstu nano z plikiem typu c wspomnianym po górnej stronie. Teraz napisz poniższy kod z obrazu w pliku edytora C. Pierwsze 4 wiersze zawierają pliki nagłówka niezbędne do wdrożenia polecenia „LSEEK”. Następnie rozpoczęto główną funkcję. W tej głównej metodzie zdefiniowaliśmy dane liczb całkowitych i postaci. Trzeci wiersz głównej funkcji jest używany otwarty wywołanie, aby otworzyć plik o nazwie „Seek”, który właśnie stworzyliśmy powyżej, a przesunięcie „O_RDWR” zostało użyte do czytania i pisania uprawnień. Treść z pliku została zwrócona do deskryptora pliku „F”. Następnie użyliśmy pierwszego wywołania metody odczytu do odczytania 12 danych znaków z pliku wyszukiwania. Funkcja zapisu została użyta do zapisywania danych na ekranie. Kolejne polecenie odczytu zostało użyte do uzyskania następnych 12 znaków z deskryptora pliku „F”, a polecenie zapisu odczytuje następne 12 znaków na ekranie wyjściowym. Z tego możemy założyć, że wyjście pokaże w sumie 24 znaki z pliku „szukaj”. Naciśnij Ctrl+S, aby zapisać ten plik i spróbuj Ctrl+X, aby go zamknąć.

Po prostu skompilujmy „test.plik c ”za pomocą poniższego polecenia kompilatora GCC.

Test $ GCC.C

Teraz uruchom kod „testu.plik C ”, aby sprawdzić wyjście kodu C, jak podano poniżej. Dane wyjściowe wyświetliło 24 -znakowy zestaw treści z pliku, jak poniżej.

$ ./A.na zewnątrz

Użyjmy polecenia „LSEEK” w kodzie, aby sprawdzić wyjście połączenia systemowego. Więc otwórz ten sam test.plik C za pomocą poniższego polecenia Nano.

Test $ nano.C

Zaktualizuj swój kod takim, jakim jest. Tym razem używamy 6 znaków z pliku treści do odczytania i zapisu. Polecenie LSEEK zostało użyte do pominięcia następnych 5 znaków z pliku zawartości i przejścia do następnych znaków za pomocą przesunięcia „Seek_Cur”.

Ponownie skompilujmy ten kod.

Test $ GCC.C

Wyjście kodu C za pomocą a.Wykazanie wyświetla pierwsze 6 znaków, następnie pomija następne 5 znaków, a następnie pokazuje kolejne 6 znaków.

$ ./A.na zewnątrz

Przykład 02:

Aby mieć pewną zmianę, zmieńmy kod. Najpierw otwórz plik.

Test $ nano.C

Teraz będziemy używać przesunięcia „Seek_set”, aby poinformować system systemowy „LSEEK”, aby pokazać następne 6 znaków z 10. pozycji ciągu.

Skompiluj plik C.

Test $ GCC.C

Polecenie wyjściowe a.Out pokazuje 6 znaków z 10. indeksu ciągu.

Wniosek:

W tym przewodniku wykonał kilka prostych przykładów korzystania z komendy systemowej „LSEEK”, aby sprawdzić lub wyświetlać treść lub dane z dowolnej pozycji.