Pengaturcaraan C

Cara Menggunakan Tulis Sistem Panggilan Di C

Cara Menggunakan Tulis Sistem Panggilan Di C

Panggilan sistem berfungsi sebagai pintu masuk utama di antara program dan kernel sistem operasi Linux. Walaupun anda pasti memerlukan panggilan sistem sepanjang kerjaya pengaturcaraan C anda, sama ada anda bertujuan untuk produktiviti yang luar biasa atau gaya ciri tertentu, repositori Glibc atau perpustakaan standard lain yang terdapat di distro Linux yang popular akan mencukupi untuk sebahagian besar anda keperluan. Dalam panduan ini, kami akan mewujudkan konsep mengenai panggilan Sistem Tulis dalam bahasa C.

Sintaks:

#sertakan
ssize_t write (int fd, const void * buf, size_t count);

Dalam sintaks di atas, baris pertama menunjukkan perpustakaan untuk panggilan sistem. Pada baris kedua, fd bermaksud deskriptor fail yang sememangnya merupakan nombor yang menentukan fail terbuka proses. Kata kunci * buf bermaksud penyangga. Ini mengandungi sebarang data di dalamnya. Seterusnya adalah kiraan. Ini adalah bilangan bait yang akan ditulis ke deskriptor fail dari penyangga.

Pasang Prasyarat:

Untuk menjalankan mana-mana kod bahasa C, anda mesti terlebih dahulu memasang beberapa pakej dalam pengedaran Linux. Sekiranya anda ingin melihat maklumat lebih lanjut mengenai panggilan sistem tulis, anda harus memasang pakej manpages-dev untuk melakukannya. Untuk membuka terminal menggunakan kekunci pintasan Ctrl + Alt + T. Setelah membukanya, tulis perintah apt install di bawah ini diikuti dengan kata kunci manpages-dev untuk memasang manpages.

$ sudo apt install manpages-dev

Ia akan memakan masa untuk memasang halaman utama. Tunggu sehingga selesai.

Selepas pemasangan, anda dapat melihat maklumat tambahan mengenai panggilan sistem "tulis" melalui perintah man di bawah di shell.

$ lelaki 2 menulis

Halaman man output untuk perintah "tulis" diberikan di bawah. Anda boleh membaca maklumat mengenainya. Tekan q untuk keluar dari manual.

Kini tiba masanya untuk memasang paket "Gcc" dalam sistem Linux anda untuk berfungsi dalam bahasa C. Untuk itu, buka shell dan tulis perintah install apt di bawah ini diikuti dengan kata kunci "gcc".

$ sudo apt pasangkan gcc

Sementara itu, semasa pemasangan, mungkin meminta anda mengesahkan tindakan pemasangan ini dengan menekan “y” untuk meneruskan dan “n” untuk menghentikannya. Oleh itu, ketik kekunci "y" dan tekan kekunci Enter.

Ia akan dipasang di sistem anda dalam beberapa minit, dan baris output terakhir akan seperti yang ditunjukkan dalam gambar di bawah.

Contoh:

Mari kita ada beberapa contoh panggilan sistem "tulis" dalam pengedaran Linux kami. Oleh itu, buka shell baris perintah dan buat fail C baru di dalamnya dengan sambungan titik "c". Anda harus menggunakan arahan nano di bawah untuk membuat dan membukanya dengan cepat. Kami telah memberikannya nama sebagai "baru.c ”.

$ nano baru.c

Tetingkap di bawah akan dibuka. Sekarang anda perlu menulis kod yang dilekatkan dalam fail ini. Dalam kod ini, kami telah memasukkan unistd.h perpustakaan dahulu. Kemudian kami telah membuat fungsi utama, dan dalam fungsi ini, kami telah membuat panggilan sistem "tulis". Dalam panggilan sistem ini, parameter pertama adalah deskriptor fail. Dalam kes ini, bilangan bulat 1 mewakili skrin peranti output, dan ia tetap. Oleh itu output kami akan ditunjukkan di skrin. Parameter kedua menunjukkan data penyangga. Anda boleh menambahkan apa sahaja padanya. Dan parameter terakhir menunjukkan bilangan kiraan untuk data yang diberikan dalam parameter penyangga. Seperti yang telah kita sebutkan 5 sebagai bilangan kiraan, ia hanya akan menunjukkan 5 bait pertama dari data penyangga dan mengabaikan bait yang tersisa. Simpan kod ini menggunakan kekunci pintasan Ctrl + S dan keluar fail ini menggunakan perintah Ctrl + X.

#sertakan
Int utama ()
Tulis (1, "Aqsa Yasin", 5);

Sekarang di terminal, cuba arahan gcc di bawah ini untuk menyusun kod yang baru dibuat ini dengan nama fail.

$ gcc baru.c

Mari kita periksa kod ini dengan menggunakan lalai a.fail keluar dibuat pada masa berjalan. Oleh itu, cubalah a.perintah keluar untuk memeriksa output panggilan sistem "tulis". Kita harus menggunakannya dengan “./ "Untuk memilih fail dari direktori semasa.

$ ./ a.keluar

Keluaran yang dapat anda lihat hanya memaparkan kata "Aqsa" kerana bilangan 5.

Mari ubah kod kami sedikit. Kami telah mengubah bilangan kiraan menjadi 11 kerana kami mempunyai total 11 bait dalam data penyangga kami "Aqsa Yasin". Jadi kali ini, output akan menunjukkan keseluruhan byte data rentetan "Aqsa Yasin". Simpan fail ini menggunakan Ctrl + S dan berhenti menggunakan kekunci pintasan Ctrl + X.

Mari menyusun kod yang dikemas kini menggunakan kompilator gcc yang baru dipasang untuk pengedaran Linux. Cuba arahan gcc yang sama dengan nama fail sebagai "baru.c ”.

$ gcc baru.c

Sekarang paparkan output dari kod yang sama dengan menggunakan "a" sebelumnya.perintah keluar seperti di bawah. Hasilnya menunjukkan rentetan penuh "Aqsa Yasin" penyangga.

$ ./ a.keluar

Mari lihat bagaimana kod berfungsi apabila kita mengambil bilangan kiraan lebih besar daripada jumlah bait yang terdapat dalam data penyangga. Jadi, kami telah menggunakan kiraannya sebagai 30. Simpan dan tutup fail.

Susun fail yang dikemas kini yang sama menggunakan perintah gcc seperti di bawah.

$ gcc baru.c

Sekarang jalankan fail menggunakan a.perintah keluar, dan output akan menunjukkan data penyangga serta beberapa nilai sampah dengannya seperti yang ditunjukkan dalam output tangkapan gambar di bawah.$ ./ a.keluar

Anda juga boleh memeriksa jumlah bait yang ditulis ke dalam fail dengan menggunakan kod di bawah dalam fail yang sama.

Menyusun kod dengan arahan gcc.

$ gcc baru.c

Output menunjukkan jumlah bait, termasuk data penyangga dan pemecahan baris, menggunakan a.perintah keluar.

$ ./ a.keluar

Kesimpulan:

Dalam tutorial ini, kami telah menguraikan konsep untuk menggunakan panggilan sistem "Tulis" di C. Cuba semua contoh untuk memahami idea panggilan sistem "tulis" menggunakan artikel ini.

Tambahkan isyarat Tetikus ke Windows 10 menggunakan alat percuma ini
Dalam beberapa tahun kebelakangan ini komputer dan sistem operasi telah banyak berkembang. Ada saat ketika pengguna harus menggunakan perintah untuk m...
Mengawal & menguruskan pergerakan tetikus antara beberapa monitor di Windows 10
Pengurus Tetikus Paparan Dwi membolehkan anda mengawal & mengkonfigurasi pergerakan tetikus antara beberapa monitor, dengan memperlahankan pergerakann...
WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...