Menggunakan std::cin dan std::cout dengan Betul
Alirkan input dan output dengan aliran standard serta elakkan perangkap lazim.
Menggunakan std::cin dan std::cout dengan Betul ialah pelajaran C++ Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran C++ Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus C++ Academy merangkumi sejumlah 4 pelajaran.
Pengepala iostream
Kedua-dua std::cin dan std::cout ialah objek daripada pengepala <iostream>. Kedua-duanya mewakili strim masukan dan keluaran standard terminal anda.
Keluaran dengan std::cout
Alirkan nilai ke std::cout dengan <<. Ia berfungsi untuk sebarang jenis yang mempunyai lebihan beban operator<< — termasuk semua jenis terbina dalam dan std::string.
int age = 30;
std::string name = "Ada";
std::cout << "Name: " << name << ", Age: " << age << "\n";Masukan dengan std::cin
Baca nilai dengan std::cin >> variable. Ruang kosong memisahkan token.
int age;
std::string name;
std::cout << "Enter name and age: ";
std::cin >> name >> age;
std::cout << name << " is " << age << "\n";Melangkau Ruang Kosong
Secara lalai, >> melangkau ruang kosong di hadapan, iaitu ruang, tab dan baris baharu, sebelum membaca. Biasanya inilah yang anda mahukan — tetapi berhati-hatilah apabila membaca aksara tunggal.
Membaca Satu Baris Penuh
std::cin >> name hanya membaca satu perkataan. Untuk membaca baris yang mengandungi ruang, gunakan std::getline.
std::string line;
std::getline(std::cin, line);
std::cout << "You said: " << line;Mencampurkan >> dan getline: Ralat Biasa
Selepas std::cin >> n, baris baharu kekal dalam penimbal. Panggilan getline seterusnya membaca rentetan kosong. Kosongkan baris baharu itu terlebih dahulu.
int n;
std::cin >> n;
std::cin.ignore(); // consume the leftover newline
std::string line;
std::getline(std::cin, line);Keadaan Strim
Strim mempunyai bit keadaan: good, eof, fail dan bad. Gunakan if (std::cin) untuk menyemak bahawa strim masih boleh digunakan selepas pengekstrakan.
Mengesan EOF
Akhir fail ditandakan oleh Ctrl+D pada Unix atau Ctrl+Z pada Windows. Ulang gelung selagi strim berada dalam keadaan baik untuk memproses semua masukan.
int n;
while (std::cin >> n) {
std::cout << n * 2 << "\n";
}I/O Lebih Pantas untuk Kod Kompetitif
Lumpuhkan penyegerakan dengan stdio C untuk bacaan yang lebih pantas dalam pengaturcaraan kompetitif. Putuskan ikatan cin daripada cout juga.
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);std::endl vs \n Sekali Lagi
std::endl menulis baris baharu dan mengosongkan penimbal. "\n" hanya menulis baris baharu. Gunakan "\n" dalam gelung untuk mengekalkan prestasi tinggi.
Mengosongkan Penimbal Secara Manual
Jika anda perlu mengosongkan penimbal tanpa menulis baris baharu, gunakan std::flush. Ini berguna untuk penunjuk kemajuan.
for (int i = 0; i < 100; ++i) {
std::cout << "\r" << i << "%" << std::flush;
// ... work ...
}Semakan Pantas
Apakah perbezaan antara std::endl dan "\n" dalam keluaran?
Ringkasan
Gunakan std::cout dengan << untuk mencetak dan std::cin dengan >> untuk membaca token. Untuk baris penuh, gunakan std::getline, dan kosongkan baris baharu yang tertinggal dengan cin.ignore() selepas masukan angka.
Pelajari C++ dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Soalan Lazim
Adakah pelajaran “Menggunakan std::cin dan std::cout dengan Betul” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran C++ Academy, termasuk “Menggunakan std::cin dan std::cout dengan Betul”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus C++ Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Menggunakan std::cin dan std::cout dengan Betul”?
Alirkan input dan output dengan aliran standard serta elakkan perangkap lazim. Anda berlatih C++ Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan C++ Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran C++ Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Menggunakan std::cin dan std::cout dengan Betul” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Menggunakan std::cin dan std::cout dengan Betul
- Memformat Output dengan iomanip
- Membaca Input dengan Selamat menggunakan getline
- Bekerja dengan std::cerr dan std::clog