Pemrograman C

Cara Menggunakan Panggilan Sistem Lseek di C

Cara Menggunakan Panggilan Sistem Lseek di C

Panggilan Sistem Lseek telah digunakan untuk membaca beberapa karakter atau data tertentu dari file atau untuk menulis beberapa konten di lokasi tertentu dari file apa pun. Ini berarti Anda dapat membaca atau menulis dari antara konten file.

Sintaksis:

Off_t lseek(int fd, off_t offset, int dari mana);

Panggilan sistem "lseek" ini membutuhkan dua file header, mis.g., “sistem/tipe.h” dan “unistd.h”. Panggilan sistem lseek membutuhkan tiga parameter:. Yang pertama adalah "fd", yang merupakan deskriptor file. Yang kedua adalah "offset," digunakan untuk memposisikan pointer. Dan parameter ketiga, "dari mana," digunakan untuk menentukan posisi penunjuk file, e.g., awal, akhir, pertengahan.

Instal Halaman Manual:

Untuk memeriksa informasi tambahan mengenai panggilan sistem, Anda harus menginstal paket manpages-dev. Jadi coba luncurkan terminal shell Linux menggunakan tombol pintas Ctrl+Alt+ T atau cari dari area aktivitas. Setelah Anda berhasil meluncurkan terminal perintah, jalankan kueri apt install di bawah ini untuk menginstal pustaka manpages-dev. Ini membutuhkan kode sandi akun Anda saat ini untuk melanjutkan instalasi. Masukkan kata sandi dan ketuk tombol Enter dari mesin tik. Proses instalasi akan dimulai dan mulai mengumpulkan informasi.

$ sudo apt install manpages-dev

Proses instalasi akan membuat Anda menunggu beberapa saat. Setelah instalasi selesai, Anda sekarang dapat memeriksa informasi mengenai perintah "lseek".  Jadi, tulis perintah "man 2" di bawah ini bersama dengan nama panggilan sistem system. Seperti yang Anda lihat, kami telah memeriksa "lseek" dalam instruksi di bawah ini.

$ man 2 lseek

Halaman manual untuk panggilan sistem "lseek" telah dibuka di bawah ini. Anda bisa mendapatkan semua informasi tentangnya.

Instal Kompilator GCC:

Sekarang saatnya kita menginstal compiler GCC untuk kompilasi file bahasa C. Jadi, Anda harus menggunakan perintah apt install yang sangat sederhana di shell untuk menginstalnya saat menggunakan ekstensi kompiler sebagai nama kata kunci di bawah ini.

$ sudo apt install gcc

Butuh sedikit waktu Anda untuk menyelesaikan pemasangannya. Setelah menginstal paket gcc, sistem Linux Anda siap menggunakan file bahasa c di dalamnya.

Contoh 01:

Sebelum masuk jauh untuk memahami konsep panggilan sistem lseek, Anda harus memulainya dengan jenis file sederhana. Jadi, luncurkan terminal dan coba perintah sentuh di bawah ini untuk membuat file sederhana bernama "seek" di direktori home distribusi Linux Anda.

$ mencari sentuhan

Tambahkan beberapa data ke dalam file "cari" dan simpan save. Anda dapat melihat konten file "mencari" di shell baris perintah dengan menggunakan kueri "kucing" sederhana di bawah ini. Isi file memiliki beberapa huruf dan angka bersama dengan tanda “*”.

$ pencarian kucing

Mari kita buat file tipe C “test.c” menggunakan kata kunci nano untuk langsung membukanya dengan editor Nano. Coba jalankan perintah di bawah ini untuk melakukannya.

$ uji nano.c

Mari kita periksa satu program tanpa perintah lseek. Ini akan membuka editor teks nano dengan file tipe-C yang disebutkan di sisi atas. Sekarang tulis kode yang ditunjukkan di bawah ini dari gambar di file editor C. 4 baris pertama berisi file header yang diperlukan untuk mengimplementasikan perintah "lseek". Setelah itu, fungsi utama telah dimulai. Dalam metode utama ini, kami telah mendefinisikan data tipe integer dan karakter untuk digunakan lebih lanjut. Baris ketiga dari fungsi utama telah menggunakan panggilan terbuka untuk membuka file bernama "seek", yang baru saja kita buat di atas, dan offset "O_RDWR"  telah digunakan untuk izin membaca dan menulis. Konten dari file telah dikembalikan ke deskriptor file “f”. Setelah ini, kami telah menggunakan panggilan metode baca pertama untuk membaca data 12 karakter dari file pencarian. Fungsi tulis telah digunakan untuk menulis data ke layar. Perintah baca lain telah digunakan untuk mendapatkan 12 karakter berikutnya dari deskriptor file "f", dan perintah tulis membaca 12 karakter berikutnya ke layar output. Dari sini, kita dapat mengasumsikan bahwa output akan menampilkan total 24 karakter dari file "seek". Tekan Ctrl+S untuk menyimpan file ini dan coba Ctrl+X untuk menutupnya.

Mari kita kompilasi saja "tes".c” dengan menggunakan perintah kompiler GCC di bawah ini:.

$ tes gcc.c

Sekarang jalankan kode "tes".c” untuk memeriksa output dari kode C seperti yang diberikan di bawah ini. Outputnya telah menampilkan kumpulan konten 24 karakter dari pencarian file seperti di bawah ini.

$ ./Sebuah.di luar

Mari gunakan perintah "lseek" dalam kode untuk memeriksa output dari panggilan sistem system. Jadi buka tes yang sama.c menggunakan perintah nano di bawah ini.

$ uji nano.c

Perbarui kode Anda apa adanya. Kali ini kami telah menggunakan 6 karakter dari file konten untuk dibaca dan ditulis. Perintah lseek telah digunakan untuk melewati 5 karakter berikutnya dari file konten dan melompat ke karakter berikutnya menggunakan offset “SEEK_CUR”.

Mari kita kompilasi kode ini lagi.

$ tes gcc.c

Output dari kode C menggunakan a.perintah out menunjukkan 6 karakter pertama, lalu melewatkan 5 karakter berikutnya dan kemudian menunjukkan 6 karakter berikutnya berturut-turut.

$ ./Sebuah.di luar

Contoh 02:

Untuk memiliki beberapa perubahan, mari kita ubah kodenya. Buka filenya dulu.

$ uji nano.c

Sekarang kita akan menggunakan offset "SEEK_SET" untuk memberi tahu panggilan sistem "lseek" untuk menampilkan 6 karakter berikutnya dari posisi 10 string.

Kompilasi file C.

$ tes gcc.c

Perintah keluaran a.out telah menunjukkan 6 karakter dari indeks ke-10 dari sebuah string.

Kesimpulan:

Panduan ini telah melakukan beberapa contoh sederhana menggunakan perintah panggilan sistem "lseek" untuk memeriksa atau menampilkan konten atau data dari posisi mana pun yang kita inginkan.

Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...