Memahami Input Ruang dalam C
Dalam C , operator pengekstrakan (cin) secara lalai melangkau aksara ruang kosong apabila membaca input daripada input standard. Inilah sebabnya mengapa ruang diabaikan apabila cuba mendapatkan semula aksara ruang secara langsung menggunakan tatasusunan aksara seperti dalam kod yang diberikan.
Mengendalikan Ruang dengan noskipws
Untuk membaca ruang juga sebagai aksara ruang putih lain, anda boleh menggunakan manipulator noskipws:
cin >> noskipws >> a[i];
Manipulator ini mengarahkan cin untuk membaca semua aksara, termasuk ruang kosong. Walau bagaimanapun, ia mungkin tidak sesuai dalam kes anda, kerana ia juga akan membaca aksara ruang putih lain seperti tab dan baris baharu.
Menggunakan get() untuk Watak Individu
Cara yang lebih tepat untuk membaca aksara ruang dan aksara individu lain ialah menggunakan fungsi get():
cin.get(a, n);
Fungsi ini berbunyi n aksara daripada aliran input dan menyimpannya dalam tatasusunan a. Ia berhenti membaca sama ada apabila ia menemui aksara baris baharu (n) atau selepas membaca aksara n-1. Ambil perhatian bahawa adalah penting untuk menggunakan tatasusunan saiz (n) yang mencukupi untuk menampung semua aksara.
Dengan menggunakan get(), anda boleh menyemak aksara individu dan mencari aksara ruang secara khusus:
if (a[i] == ' ') // Do something when a space is encountered
Kaedah ini membolehkan anda mengendalikan ruang dan aksara lain dengan lebih selektif tanpa perlu melumpuhkan langkau ruang putih secara global dengan noskipws.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca dan Mengendalikan Ruang sebagai Input dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!