Menggunakan std::cin dan std::cout dengan Benar
Alirkan masukan dan keluaran dengan stream standar serta hindari jebakan umum.
Menggunakan std::cin dan std::cout dengan Benar adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.
Header iostream
std::cin dan std::cout adalah objek dari header <iostream>. Keduanya merepresentasikan aliran masukan dan keluaran standar dari terminal Anda.
Keluaran dengan std::cout
Alirkan nilai ke std::cout dengan <<. Ini berfungsi untuk tipe apa pun yang memiliki kelebihan beban operator<< — termasuk semua tipe bawaan dan std::string.
int age = 30;
std::string name = "Ada";
std::cout << "Name: " << name << ", Age: " << age << "\n";Masukan dengan std::cin
Bacalah nilai dengan std::cin >> variable. Spasi kosong memisahkan token.
int age;
std::string name;
std::cout << "Enter name and age: ";
std::cin >> name >> age;
std::cout << name << " is " << age << "\n";Melewati Spasi Kosong
Secara bawaan, >> melewati spasi kosong di awal (spasi, tab, dan baris baru) sebelum membaca. Biasanya inilah yang Anda inginkan — tetapi berhati-hatilah saat membaca karakter tunggal.
Membaca Satu Baris Penuh
std::cin >> name hanya membaca satu kata. Untuk membaca baris yang mengandung spasi, gunakan std::getline.
std::string line;
std::getline(std::cin, line);
std::cout << "You said: " << line;Mencampur >> dan getline: Kesalahan Umum
Setelah std::cin >> n, karakter baris baru tetap berada di buffer. Pemanggilan getline berikutnya akan membaca string kosong. Hapus karakter baris baru tersebut terlebih dahulu.
int n;
std::cin >> n;
std::cin.ignore(); // consume the leftover newline
std::string line;
std::getline(std::cin, line);Status Aliran
Aliran memiliki bit status: good, eof, fail, dan bad. Gunakan if (std::cin) untuk memeriksa apakah aliran masih dapat digunakan setelah ekstraksi.
Mendeteksi EOF
Akhir berkas ditandai dengan Ctrl+D di Unix atau Ctrl+Z di Windows. Lakukan perulangan selama aliran masih baik untuk memproses semua masukan.
int n;
while (std::cin >> n) {
std::cout << n * 2 << "\n";
}I/O Lebih Cepat untuk Kode Kompetitif
Nonaktifkan sinkronisasi dengan I/O C agar pembacaan lebih cepat dalam pemrograman kompetitif. Lepaskan juga hubungan cin dari cout.
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);std::endl vs \n Lagi
std::endl menulis baris baru dan mengosongkan buffer. "\n" hanya menulis baris baru. Gunakan "\n" dalam perulangan agar performa tetap tinggi.
Mengosongkan Buffer secara Manual
Jika perlu mengosongkan buffer tanpa menulis baris baru, gunakan std::flush. Ini berguna untuk indikator kemajuan.
for (int i = 0; i < 100; ++i) {
std::cout << "\r" << i << "%" << std::flush;
// ... work ...
}Pemeriksaan Cepat
Apa perbedaan antara std::endl dan "\n" pada keluaran?
Ringkasan
Gunakan std::cout dengan << untuk mencetak dan std::cin dengan >> untuk membaca token. Untuk baris penuh, gunakan std::getline, lalu hapus baris baru yang tersisa dengan cin.ignore() setelah masukan numerik.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menggunakan std::cin dan std::cout dengan Benar” gratis?
Ya — teks lengkap “Menggunakan std::cin dan std::cout dengan Benar” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menggunakan std::cin dan std::cout dengan Benar”?
Alirkan masukan dan keluaran dengan stream standar serta hindari jebakan umum. Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C++ Academy?
Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Menggunakan std::cin dan std::cout dengan Benar” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menggunakan std::cin dan std::cout dengan Benar
- Memformat Keluaran dengan iomanip
- Membaca Input dengan Aman menggunakan getline
- Bekerja dengan std::cerr dan std::clog