C++ Academy · Pelajaran

Menggunakan std::cin dan std::cout dengan Betul

Alirkan input dan output dengan aliran standard serta elakkan perangkap lazim.

Pelajaran 1 daripada 413 langkah

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.

Percuma untuk bermula

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

  1. Menggunakan std::cin dan std::cout dengan Betul
  2. Memformat Output dengan iomanip
  3. Membaca Input dengan Selamat menggunakan getline
  4. Bekerja dengan std::cerr dan std::clog
← Kembali ke C++ Academy