C Програмування

Як використовувати системний дзвінок Lseek у C

Як використовувати системний дзвінок Lseek у C

Системний дзвінок Lseek використовувався для читання певних символів або даних із файлу або для написання вмісту у певному місці будь-якого файлу. Це означає, що ви можете читати або писати між вмістом файлу.

Синтаксис:

Off_t lseek (int fd, off_t offset, int звідки);

Для цього системного виклику “lseek” потрібні два заголовкові файли, наприклад.g., “Sys / типи.h »та« unistd.год ”. Системний виклик lseek вимагає трьох параметрів. Перший - “fd”, який є дескриптором файлу. Другий - «зміщення», що використовується для позиціонування вказівника. І третій параметр, "звідки", використовується для вказівки позиції вказівника на файл, наприклад.g., початок, кінець, середина.

Встановити сторінки:

Щоб перевірити додаткову інформацію щодо системних дзвінків, вам потрібно встановити пакет manpages-dev. Тож спробуйте запустити термінал оболонки Linux за допомогою комбінації клавіш Ctrl + Alt + T або виконайте пошук в області активності. Після успішного запуску командного терміналу виконайте наведений нижче запит на встановлення, щоб встановити бібліотеку manpages-dev. Для продовження встановлення потрібен ваш поточний пароль. Введіть пароль і натисніть на машинці клавішу Enter. Буде розпочато процес встановлення та розпочнеться збір інформації.

$ sudo apt install manpages-dev

Процес установки змусить вас почекати трохи часу. Після завершення встановлення ви можете перевірити інформацію щодо команди “lseek”.  Отже, напишіть наведену нижче команду “man 2” разом із назвою системного виклику. Як бачите, ми перевіряли наявність “lseek” у наведеній нижче інструкції.

$ людина 2 lseek

Сторінка користувача для системного дзвінка “lseek” відкрита нижче. Ви можете отримати всю інформацію щодо цього.

Встановіть компілятор GCC:

Тепер нам пора встановити компілятор GCC для компіляції мовних файлів C. Отже, вам доведеться використовувати дуже просту команду apt install в оболонці, щоб встановити її, використовуючи розширення компілятора як назву ключового слова нижче.

$ sudo apt встановити gcc

На його встановлення знадобиться ваш невеликий час. Після встановлення пакета gcc ваша система Linux готова використовувати в ньому мовні файли.

Приклад 01:

Перш ніж глибоко зрозуміти концепцію системного виклику lseek, ви повинні розпочати його з простого типу файлу. Отже, запустіть термінал і спробуйте наведену нижче команду дотику, щоб створити простий файл із назвою „шукати” у домашньому каталозі дистрибутива Linux.

$ дотик шукати

Додайте деякі дані у файл „шукати” та збережіть їх. Ви можете побачити вміст файлу "шукати" в оболонці командного рядка, використовуючи простий запит "кішка" нижче. Вміст файлу містить кілька алфавітів та цифр, а також знак «*».

$ кішка шукає

Давайте створимо файл типу "тест".c ”за допомогою ключового слова nano, щоб безпосередньо відкрити його за допомогою редактора Nano. Спробуйте виконати наведену нижче команду, щоб зробити це.

$ нано-тест.c

Давайте перевіримо одну програму без команди lseek. Він відкриє нанотекстовий редактор із файлом типу C, згаданим у верхній частині. Тепер напишіть наведений нижче код із зображення у файлі редактора C. Перші 4 рядки містять файли заголовків, необхідні для реалізації команди “lseek”. Після цього була запущена основна функція. У цьому основному методі ми визначили цілочисельні та символьні типи даних для подальшого використання. Третій рядок основної функції використовував відкритий виклик для відкриття файлу з назвою „шукати”, який ми щойно створили вище, а зміщення „O_RDWR” було використано для дозволів на читання та запис. Вміст із файлу повернуто до дескриптора файлу “f”. Після цього ми використали перший виклик методу читання для зчитування 12 символьних даних із файлу пошуку. Функція запису була використана для запису даних на екран. Інша команда читання була використана для отримання наступних 12 символів з дескриптора файлу "f", а команда запису читає наступні 12 символів на екран виводу. З цього можна припустити, що на виході буде показано загалом 24 символи з файлу „шукати”. Натисніть Ctrl + S, щоб зберегти цей файл, і спробуйте Ctrl + X, щоб закрити його.

Давайте просто складемо “тест.c ”за допомогою наведеної нижче команди компілятора GCC.

$ gcc тест.c

Тепер запустіть код «тесту.файл ”для перевірки виводу коду С, як зазначено нижче. На виході відображається 24-символьний набір вмісту з файлу, як показано нижче.

$ ./ а.назовні

Давайте використаємо команду “lseek” у коді, щоб перевірити результати системного виклику. Тож відкрийте той самий тест.c, використовуючи наведену нижче команду nano.

$ нано-тест.c

Оновіть свій код таким, яким він є. Цього разу ми використовуємо 6 символів із файлу вмісту для читання та запису. Команда lseek була використана для пропуску наступних 5 символів із файлу вмісту та переходу до наступних символів із використанням зміщення “SEEK_CUR”.

Складемо цей код ще раз.

$ gcc тест.c

Вихід коду C за допомогою a.команда out показує перші 6 символів, потім пропускає наступні 5 символів, а потім показує наступні 6 символів.

$ ./ а.назовні

Приклад 02:

Щоб трохи змінити, давайте змінимо код. Спочатку відкрийте файл.

$ нано-тест.c

Тепер ми будемо використовувати зсув “SEEK_SET”, щоб сказати системному дзвінку “lseek” показати наступні 6 символів з 10-ї позиції рядка.

Скомпілюйте файл C.

$ gcc тест.c

Вихідна команда a.out показує 6 символів з 10-го індексу рядка.

Висновок:

У цьому посібнику зроблено кілька простих прикладів використання команди системного виклику “lseek” для перевірки або показу вмісту чи даних із будь-якої потрібної позиції.

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...