Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menangkap Ketukan Kekunci Serta-merta dalam C?

Bagaimana untuk Menangkap Ketukan Kekunci Serta-merta dalam C?

Susan Sarandon
Susan Sarandonasal
2024-10-24 03:36:31890semak imbas

How to Capture Keystrokes Immediately in C  ?

Pengumpulan Input dengan Tindak Balas Utama Segera

Dalam C , pengumpulan input daripada papan kekunci biasanya melibatkan penggunaan fungsi cin. Walau bagaimanapun, kelakuan lalai cin memerlukan pengguna untuk menekan kekunci enter untuk melengkapkan input aksara.

Masalah:

Untuk mencapai input aksara serta-merta dan pelaksanaan kod seterusnya, kod berikut gagal untuk menyampaikan hasil yang diingini:

<code class="cpp">char c;
cin >> c;
cout << "Something" << endl;</code>

Semasa cin.get() atau cin.get(c) membaca satu aksara, mereka masih menunggu pemuktamadan input dengan menekan kekunci enter.

Penyelesaian:

Untuk mensimulasikan "Tekan sebarang kekunci untuk meneruskan," fungsi khusus platform seperti system() boleh digunakan:

  • Windows:
<code class="cpp">system("pause");</code>
  • Mac dan Linux:
<code class="cpp">system("read");</code>

Penggunaan:

Kedua-dua sistem("jeda") dan sistem("baca") dengan berkesan mengeluarkan "Tekan sebarang kekunci untuk meneruskan..." dan tunggu sebarang kekunci ditekan, memudahkan input aksara segera dan beralih ke baris kod seterusnya.

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Ketukan Kekunci Serta-merta dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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