


Program C yang tidak akan berhenti seketika apabila Ctrl+Z ditekan
Dalam pengaturcaraan, apabila atur cara tidak berfungsi dan berjalan dengan cara yang tidak dijangka dalam pengkompil terminal, pengaturcara mempunyai hak untuk secara eksplisit menghentikan program daripada berjalan. Untuk menghentikan program secara eksplisit, pengguna mesti mengetahui pintasan papan kekunci yang betul untuk ditekan.
Untuk menamatkan pelaksanaan blok kod, dua jenis pintasan papan kekunci digunakan.
Ctrl+c - Digunakan untuk menghentikan pelaksanaan program yang mengambil sedikit masa untuk menyelesaikan operasi input/output dan kemudian menjeda pelaksanaan. Ia menghantar isyarat SIGINT kepada proses dan proses itu akan ditamatkan. Dalam sesetengah bahasa, ini boleh dikendalikan melalui fungsi isyarat yang serupa dengan bahasa C SIGINT.
Ctrl+z - Digunakan untuk menghentikan pelaksanaan program Semua tugasan yang berkaitan dengan proses ditutup dan pelaksanaan digantung. Ia menghantar isyarat SINTSTP kepada proses, menamatkan pelaksanaan program. Walaupun dilaksanakan dengan cara yang sama, isyarat ini lebih berkuasa daripada yang lain. Ini juga boleh dikendalikan.
Di sini, kami akan menulis kod yang boleh memintas panggilan ctrl+z. Daripada dijeda, atur cara akan mencetak "ctrl+z tidak boleh menjeda kod ini".
Seperti yang dinyatakan di atas, bahasa pengaturcaraan C boleh mengendalikan panggilan ctrl+z. Apabila isyarat SINTSTP dipanggil untuk menamatkan proses program, kami akan mentakrifkan semula peranan isyarat ini supaya apabila digunakan ia tidak menamatkan kod dan mencetak baris. Kaedah
signal() digunakan untuk mengendalikan perkara jenis ini.
Contoh
Demonstrasi
#include <stdio.h> #include <signal.h> void signalhandler(int sig_num){ signal(SIGTSTP, signalhandler); printf("Cannot execute Ctrl+Z</p><p>"); } int main(){ int a = 1; signal(SIGTSTP, signalhandler); while(a){ } return 0; }
Output
// an infinite loop
Atas ialah kandungan terperinci Program C yang tidak akan berhenti seketika apabila Ctrl+Z ditekan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Tersilap mencetak fail besar? Perlu menghentikan atau menjeda percetakan untuk menjimatkan dakwat dan kertas? Terdapat banyak situasi di mana anda mungkin perlu menjeda kerja cetakan yang sedang berjalan pada peranti Windows 11 anda. Bagaimana untuk menjeda percetakan dalam Windows 11? Dalam Windows 11, menjeda pencetakan akan menjeda kerja cetakan, tetapi ia tidak akan membatalkan tugas cetakan. Ini memberikan pengguna kawalan yang lebih fleksibel. Terdapat tiga cara untuk melakukan ini: Jeda pencetakan menggunakan bar tugas Menjeda pencetakan menggunakan tetapan Windows Mencetak menggunakan panel kawalan Sekarang, mari lihat ini secara terperinci. 1] Cetak menggunakan bar tugas Klik kanan pemberitahuan baris gilir cetakan pada bar tugas. Klik untuk membuka semua pilihan pencetak yang aktif. Di sini, klik kanan pada kerja cetakan dan pilih Jeda Semua

Diberikan di bawah adalah algoritma bahasa C untuk menukar angka Rom kepada nombor perpuluhan: Algoritma Langkah 1 - Mulakan Langkah 2 - Baca angka Rom pada masa jalan Langkah 3 - Panjang: = strlen(roman) Langkah 4 - Untuk i=0 kepada Length-1 Langkah 4.1-suis(roman[i]) Langkah 4.1.1-case'm': &nbs

Perbandingan rentetan leksikografi bermaksud rentetan dibandingkan dalam susunan kamus. Contohnya, jika terdapat dua rentetan 'epal' dan 'rayuan', rentetan pertama akan datang yang terakhir kerana tiga aksara pertama 'aplikasi' adalah sama. Kemudian untuk rentetan pertama aksara ialah 'l' dan dalam rentetan kedua aksara keempat ialah 'e'. Memandangkan 'e' lebih pendek daripada 'l', ia akan didahulukan jika kita menyusun mengikut leksikografi. Rentetan dibandingkan secara leksikografi sebelum disusun. Dalam artikel ini, kita akan melihat teknik yang berbeza untuk membandingkan dua rentetan secara leksikografi menggunakan C++. Menggunakan fungsi compare() dalam rentetan C++ Objek rentetan C++ mempunyai compare()

Apabila kami menggunakan pencetak untuk mencetak fail, kami kadang-kadang mendapati bahawa status pencetak telah dijeda dan pencetakan tidak dapat diteruskan pada masa ini. Sebenarnya, kami hanya perlu membatalkan jeda pencetakan. Cara memulihkan status pencetak apabila ia telah dijeda: 1. Mula-mula, buka tetapan pencetak melalui ikon sudut di sudut kanan bawah. 2. Selepas dibuka, anda boleh melihat "Dijeda" dipaparkan 3. Pada masa ini, kami klik "Pencetak" di sudut kiri atas 4. Jika "Jeda Pencetakan" ditanda, klik sekali lagi untuk menyahtandanya. 5. Selepas menyahtanda, anda akan mendapati ia tidak lagi dijeda dan anda boleh terus mencetak.

Senarai terpaut menggunakan peruntukan memori dinamik, iaitu ia berkembang dan mengecut dengan sewajarnya. Ia ditakrifkan sebagai koleksi nod. Di sini, nod mempunyai dua bahagian, data dan pautan. Data, pautan dan senarai terpaut diwakili seperti berikut - Jenis senarai terpaut Terdapat empat jenis senarai terpaut, seperti berikut: - Senarai pautan tunggal / Senarai pautan tunggal Senarai berganda / Berganda Pekeliling Senarai pautan tunggal Pekeliling Senarai pautan berganda Kami menggunakan kaedah rekursif untuk mencari panjang senarai terpaut Logiknya ialah -intlength(nod *temp){ if(temp==NULL) returnl{&n

Fungsi nama semula menukar fail atau direktori daripada nama lamanya kepada nama baharunya. Operasi ini serupa dengan operasi bergerak. Jadi kita juga boleh menggunakan fungsi nama semula ini untuk memindahkan fail. Fungsi ini wujud dalam fail pengepala perpustakaan stdio.h. Sintaks fungsi nama semula adalah seperti berikut: intrename(constchar*oldname,constchar*newname); Fungsi rename() fungsi menerima dua parameter. Satu nama lama dan satu lagi nama baru. Kedua-dua parameter adalah penunjuk kepada aksara malar yang mentakrifkan nama lama dan baharu fail. Mengembalikan sifar jika fail berjaya dinamakan semula, jika tidak, mengembalikan integer bukan sifar. Semasa operasi menamakan semula

Fungsi hiperbola ditakrifkan menggunakan hiperbola dan bukannya bulatan dan bersamaan dengan fungsi trigonometri biasa. Ia mengembalikan parameter nisbah dalam fungsi sinus hiperbolik dari sudut yang dibekalkan dalam radian. Tetapi lakukan sebaliknya, atau dengan kata lain. Jika kita ingin mengira sudut daripada sinus hiperbolik, kita memerlukan operasi trigonometri hiperbolik songsang seperti operasi sinus songsang hiperbolik. Kursus ini akan menunjukkan cara menggunakan fungsi sinus songsang hiperbolik (asinh) dalam C++ untuk mengira sudut menggunakan nilai sinus hiperbolik dalam radian. Operasi arcsine hiperbolik mengikut formula berikut -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}, Di mana\:In\:is\:logaritma asli\:(log_e\:k)

Peta ialah sejenis bekas khas dalam C++ di mana setiap elemen adalah sepasang dua nilai, iaitu nilai kunci dan nilai dipetakan. Nilai kunci digunakan untuk mengindeks setiap item, dan nilai yang dipetakan ialah nilai yang dikaitkan dengan kunci. Tidak kira sama ada nilai yang dipetakan adalah unik, kuncinya sentiasa unik. Untuk mencetak elemen peta dalam C++ kita perlu menggunakan iterator. Elemen dalam set item ditunjukkan oleh objek iterator. Iterator digunakan terutamanya dengan tatasusunan dan jenis bekas lain (seperti vektor), dan mereka mempunyai set operasi khusus yang boleh digunakan untuk mengenal pasti elemen tertentu dalam julat tertentu. Iterator boleh dinaikkan atau dikurangkan untuk merujuk elemen berbeza yang terdapat dalam julat atau bekas. Peulang menunjuk ke lokasi memori elemen tertentu dalam julat. Mencetak peta dalam C++ menggunakan iterator Mula-mula, mari lihat cara untuk mentakrifkan
