Rumah Tutorial sistem LINUX Untuk membaca data daripada fail, aplikasi terlebih dahulu memanggil fungsi sistem pengendalian

Untuk membaca data daripada fail, aplikasi terlebih dahulu memanggil fungsi sistem pengendalian

Feb 19, 2024 am 09:42 AM
dokumen data linux topi merah

Dalam fail I/O, untuk membaca data daripada fail pengendali fail linux, aplikasi mesti terlebih dahulu memanggil fungsi sistem pengendalian dan lulus nama fail, dan memilih laluan ke fail untuk membuka fail. Fungsi ini mengembalikan nombor jujukan, iaitu pemegang fail Perl (pemegang fail)Pemegang fail linux ialah satu-satunya asas untuk mengenal pasti fail yang terbuka. Untuk membaca sekeping data daripada fail, aplikasi perlu memanggil fungsi ReadFile dan menghantar alamat pemegang fail Perl dalam memori video dan bilangan bait untuk disalin ke sistem pengendalian. Apabila tugas selesai, fail ditutup dengan memanggil fungsi sistem.

Bukan sahaja anda menulis program kecerdasan buatan meniru ahli falsafah solipsi, program anda menggunakan kaedah yang tidak berkomunikasi dengan dunia luar. Dalam baris ketiga dan keempat contoh kelas, anda akan melihat "GRED", yang merupakan jenis data yang merujuk kepada fail Perl lain, dipanggil failhandle. Pemegang ialah nama yang anda berikan kepada fail, peranti, soket atau saluran paip untuk membantu anda mengingati nama yang anda gunakan dan menyembunyikan kerumitan cache individu, dsb. (Secara dalaman, pemegang adalah seperti strim dalam C++, atau saluran I/O dalam BASIC.) Pemegang memudahkan anda memasukkan dan mengeluarkan ke tempat yang berbeza. Salah satu perkara yang menjadikan Perl sebagai bahasa yang baik ialah keupayaannya untuk berkomunikasi dengan berbilang fail dan memproses semuanya sekaligus. Mempunyai nama simbolik yang baik untuk objek luar adalah bahagian penting dari bahasa yang baik [1].

Perkara lain yang menjadikan Perl sebagai bahasa yang baik ialah: ia adalah 8-bit, ia boleh dibenamkan dan anda boleh membenamkan atur cara lain dalam Perl melalui mod sambungan. Ia ringkas dan mudah digunakan di web. Persekitaran yang jelas dan senang diajak berbincang. Anda boleh merujuknya dalam pelbagai cara (seperti yang dilihat di atas). Sebenarnya, bahasa itu sendiri tidak tersusun dengan ketat sehingga anda tidak boleh menjawab soalan anda. Kembali ke TMTOWTDI semula.

Anda mencipta pemegang dan menyambungkannya ke fail melalui fungsi terbuka. open mengambil dua parameter: pemegang dan nama fail yang anda ingin pautkan kepadanya. Perl juga menyediakan beberapa pemegang yang dipratentukan (dan pra-dibuka). STDIN ialah saluran input biasa program anda dan STDOUT ialah saluran keluaran biasa program anda. STDERR ialah saluran keluaran tambahan supaya atur cara boleh memberikan beberapa arahan apabila menukar input kepada output [2].

Biasanya, pemegang ini dipautkan ke terminal anda, jadi anda boleh menaip program anda dan melihatnya, tetapi ia juga boleh dipautkan ke fail. Perl boleh memberi anda pemegang pratakrif ini kerana sistem pengendalian anda sudah menyediakannya. Di bawah UNIX, proses mewarisi input, output dan ralat standard daripada proses induknya (biasanya shell). Salah satu tanggungjawab shell adalah untuk menstruktur aliran I/O ini supaya proses kanak-kanak tidak perlu risau tentang itu).

linux文件句柄_句柄文件超多_句柄文件和文件句柄

Oleh kerana anda boleh membuat pemegang untuk pelbagai tujuan (input, output, saluran paip) menggunakan fungsi terbuka, anda mesti boleh menentukan perkara yang anda mahu lakukan. Sama seperti pada baris arahan UNIX, anda hanya menambah aksara pada nama fail.

Salin kod seperti berikut:

buka(SESAME,"nama fail");#Baca daripada fail sedia ada

句柄文件超多_linux文件句柄_句柄文件和文件句柄

open(SESAME,"open(SESAME,">filename");#Buat fail dan tulis padanya

open(SESAME,">>filename");#Teruskan menulis ke fail sedia ada

open(SESAME,"|output-pipe-command");#Bina penapis output

buka(SESAME,"input-pipe-command|");#Bina penapis input

Seperti yang anda dengar, anda boleh memilih mana-mana nama yang anda mahu. Sebaik sahaja pemegang SESAME dibuka, ia boleh digunakan untuk mengakses fail atau paip sehingga ia ditutup secara eksplisit (dengan tutup(SESAME)), atau satu siri bukaan ke pemegang yang sama memautkan pemegang ini ke fail lain [3 ].

Membuka pemegang yang sudah terbuka secara tersirat menutup fail pertama, menjadikannya tidak tersedia kepada pemegang fail Perl dan membuka fail lain. Anda perlu sedar bahawa ini adalah perkara yang anda mahu lakukan. Kadangkala, alat muat turun linux berlaku secara kebetulan Contohnya, apabila anda membuka($handle,$file), $handle kebetulan mengandungi rentetan kosong (null). Pastikan anda menetapkan $handle kepada satu nilai, jika tidak, anda akan membuka fail baharu dengan pemegang null.

句柄文件超多_句柄文件和文件句柄_linux文件句柄

Setelah anda membuka pemegang untuk input (atau anda menggunakan STDIN), anda boleh menggunakan "operasi baca baris" untuk membaca baris. Yang ini juga dikenali sebagai operasi batu, kerana bentuknya. Operasi batu ini mengandungi pemegang()[4] yang anda mahu baca. Gunakan pemegang STDID untuk membaca jawapan yang diberikan oleh pengguna, seperti berikut:

Operasi batu kosong akan dibaca daripada semua fail yang dinyatakan pada baris arahan Jika tidak dinyatakan, ia akan dibaca daripada STDIN. (Ini adalah tingkah laku standard banyak program "penapis" UNIX)

Salin kod seperti berikut:

句柄文件超多_句柄文件和文件句柄_linux文件句柄

printSTDOUT"Enteranumber:";#Minta untuk memasukkan nombor

$number=;#Masukkan nombor

printSTDOUT"Thenumberis$number";#Output this number

Adakah anda faham contoh yang kami berikan kepada anda Apakah yang dilakukan oleh STDOUT dalam ayat cetakan Ini adalah salah satu cara anda menggunakan pengendali keluaran? Pemegang boleh digunakan sebagai parameter pertama pernyataan cetak Jika ia wujud, ia memberitahu tempat untuk mengeluarkan. Dalam contoh, pemegang adalah berlebihan kerana output sudah STDOUT. Lalai untuk input ialah STDIN dan untuk output ialah STDOUT. (Kami telah meninggalkan baris 18 contoh balas kelas untuk mengelakkan anda mengelirukan.)

Kami juga mempunyai satu perkara yang anda tidak faham. Jika anda mencuba contoh di dalam, anda dapat melihat bahawa anda mendapat baris yang sangat kosong. Kerana anda tidak mengalih keluar aksara baris baharu (baris baharu) secara manual daripada baris input anda semasa membaca (contohnya, anda memasukkan "9"). Untuk kes ini, apabila anda ingin mengalih keluar baris baharu, Perl menyediakan fungsi chop dan chomp. chop akan memadam (dan mengembalikan) aksara terakhir yang diserahkan kepadanya secara sembarangan, manakala chomp hanya akan memadamkan penghujung pengecam rekod (biasanya ""), dan mengembalikan bilangan aksara yang dipadamkan.

Atas ialah kandungan terperinci Untuk membaca data daripada fail, aplikasi terlebih dahulu memanggil fungsi sistem pengendalian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Menggunakan Pengurus Tugas dalam Linux Menggunakan Pengurus Tugas dalam Linux Aug 15, 2024 am 07:30 AM

Terdapat banyak soalan yang sering ditanya oleh pemula Linux, "Adakah Linux mempunyai Pengurus Tugas?", "Bagaimana untuk membuka Pengurus Tugas pada Linux Pengguna dari Windows tahu bahawa Pengurus Tugas sangat berguna?" Anda boleh membuka Pengurus Tugas dengan menekan Ctrl+Alt+Del dalam Windows. Pengurus tugas ini menunjukkan kepada anda semua proses yang sedang berjalan dan memori yang mereka gunakan, dan anda boleh memilih dan mematikan proses daripada program pengurus tugas. Apabila anda mula-mula menggunakan Linux, anda juga akan mencari sesuatu yang setara dengan pengurus tugas di Linux. Pakar Linux lebih suka menggunakan baris arahan untuk mencari proses, penggunaan memori, dll., tetapi anda tidak perlu melakukannya

Selesaikan masalah paparan graf dan carta yang bercelaru pada pelayan pemantauan Cina Zabbix Selesaikan masalah paparan graf dan carta yang bercelaru pada pelayan pemantauan Cina Zabbix Jul 31, 2024 pm 02:10 PM

Sokongan Zabbix untuk bahasa Cina tidak begitu baik, tetapi kadangkala kami masih memilih bahasa Cina untuk tujuan pengurusan Dalam antara muka web yang dipantau oleh Zabbix, orang Cina di bawah ikon grafik akan memaparkan petak kecil. Ini tidak betul dan memerlukan muat turun fon. Contohnya, "Microsoft Yahei", "Microsoft Yahei.ttf" dinamakan "msyh.ttf", muat naik fon yang dimuat turun ke /zabbix/fonts/fonts dan ubah suai dua aksara dalam /zabbix/include/defines.inc.php fail di define('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

7 cara untuk membantu anda menyemak tarikh pendaftaran pengguna Linux 7 cara untuk membantu anda menyemak tarikh pendaftaran pengguna Linux Aug 24, 2024 am 07:31 AM

Tahukah anda, bagaimana untuk menyemak tarikh penciptaan akaun pada sistem Linux? Jika anda tahu, apa yang anda boleh lakukan? Adakah anda berjaya? Jika ya, bagaimana untuk melakukannya? Pada asasnya sistem Linux tidak menjejaki maklumat ini, jadi apakah cara alternatif untuk mendapatkan maklumat ini? Anda mungkin bertanya mengapa saya menyemak ini? Ya, terdapat situasi di mana anda mungkin perlu menyemak maklumat ini dan ia akan membantu anda pada masa itu. Anda boleh menggunakan 7 kaedah berikut untuk mengesahkan. Gunakan /var/log/secure Gunakan alat aureport Gunakan .bash_logout Gunakan arahan chage Gunakan arahan useradd Gunakan arahan passwd Gunakan arahan terakhir Kaedah 1: Gunakan /var/l

Ajar anda cara menambah fon pada Fedora dalam masa 5 minit Ajar anda cara menambah fon pada Fedora dalam masa 5 minit Jul 23, 2024 am 09:45 AM

Pemasangan seluruh sistem Jika anda memasang fon seluruh sistem, ia akan tersedia kepada semua pengguna. Cara terbaik untuk melakukan ini ialah menggunakan pakej RPM daripada repositori perisian rasmi. Sebelum memulakan, buka alat "Perisian" dalam Fedora Workstation, atau alat lain menggunakan repositori rasmi. Pilih kategori "Tambahan" dalam bar pilihan. Kemudian pilih "Fon" dalam kategori. Anda akan melihat fon yang tersedia serupa dengan fon dalam tangkapan skrin di bawah: Apabila anda memilih fon, beberapa butiran akan muncul. Bergantung pada beberapa senario, anda mungkin boleh melihat beberapa contoh teks untuk fon. Klik butang "Pasang" untuk menambahkannya pada sistem anda. Bergantung pada kelajuan sistem dan lebar jalur rangkaian, proses ini mungkin mengambil sedikit masa untuk diselesaikan

Apakah yang perlu saya lakukan jika fon WPS yang hilang di bawah sistem Linux menyebabkan fail menjadi bercelaru? Apakah yang perlu saya lakukan jika fon WPS yang hilang di bawah sistem Linux menyebabkan fail menjadi bercelaru? Jul 31, 2024 am 12:41 AM

1. Cari font wingdings, wingdings2, wingdings3, Webdings, dan MTExtra dari Internet 2. Masukkan folder utama, tekan Ctrl+h (tunjukkan fail tersembunyi), dan semak jika terdapat folder .fonts satu. 3. Salin fon yang dimuat turun seperti wingdings, wingdings2, wingdings3, Webdings, dan MTExtra ke folder .fonts dalam folder utama Kemudian mulakan wps untuk melihat jika masih terdapat dialog peringatan "System missing font kotak. Jika tidak, hanya Kejayaan Nota: wingdings, wingdin

Pemasangan dan konfigurasi Centos 7 pelayan penyegerakan masa rangkaian NTP Pemasangan dan konfigurasi Centos 7 pelayan penyegerakan masa rangkaian NTP Aug 05, 2024 pm 10:35 PM

Persekitaran percubaan: OS: LinuxCentos7.4x86_641 Lihat zon waktu pelayan semasa & senaraikan zon waktu dan tetapkan zon waktu (jika sudah menjadi zon waktu yang betul, sila langkau): #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia. /Shanghai2 Memahami konsep zon waktu: GMT, UTC, CST, DSTUTC: Seluruh bumi dibahagikan kepada dua puluh empat zon waktu Setiap zon waktu mempunyai waktu tempatan sendiri, demi penyatuan. masa bersatu digunakan, dipanggil Masa Selaras Sejagat (UTC :UniversalTim).

Bagaimana untuk menyambungkan dua hos Ubuntu ke Internet menggunakan satu kabel rangkaian Bagaimana untuk menyambungkan dua hos Ubuntu ke Internet menggunakan satu kabel rangkaian Aug 07, 2024 pm 01:39 PM

Cara menggunakan satu kabel rangkaian untuk menyambungkan dua hos ubuntu ke Internet 1. Sediakan hos A: ubuntu16.04 dan hos B: ubuntu16.042 Hos A mempunyai dua kad rangkaian, satu disambungkan ke rangkaian luaran dan satu lagi disambungkan menjadi tuan rumah B. Gunakan arahan iwconfig untuk melihat semua kad rangkaian pada hos. Seperti yang ditunjukkan di atas, kad rangkaian pada hos A pengarang (komputer riba) ialah: wlp2s0: Ini ialah kad rangkaian wayarles. enp1s0: kad rangkaian berwayar, kad rangkaian yang disambungkan ke hos B. Selebihnya tiada kaitan dengan kita, tidak perlu ambil peduli. 3. Konfigurasikan IP statik A. Edit fail #vim/etc/network/interfaces untuk mengkonfigurasi alamat IP statik untuk antara muka enp1s0, seperti ditunjukkan di bawah (di mana #==========

lambung! Menjalankan DOS pada Raspberry Pi lambung! Menjalankan DOS pada Raspberry Pi Jul 19, 2024 pm 05:23 PM

Seni bina CPU yang berbeza bermakna menjalankan DOS pada Raspberry Pi tidak mudah, tetapi ia tidak banyak masalah. FreeDOS mungkin biasa kepada semua orang. Ia adalah sistem pengendalian yang lengkap, percuma dan serasi untuk DOS. Ia boleh menjalankan beberapa permainan DOS lama atau perisian komersial, dan juga boleh membangunkan aplikasi terbenam. Selagi program boleh berjalan pada MS-DOS, ia boleh berjalan pada FreeDOS. Sebagai pemula dan penyelaras projek FreeDOS, ramai pengguna akan bertanya kepada saya soalan sebagai orang dalam. Soalan yang paling kerap saya tanya ialah: "Bolehkah FreeDOS dijalankan pada Raspberry Pi?" Lagipun, Linux berjalan dengan baik pada Raspberry Pi

See all articles