Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ทำไมเราถึงเรียก cin.clear() และ cin.ignore() หลังจากอ่านอินพุตใน C ++


ใน C ++ cin ถูกใช้เพื่อรับอินพุตจากผู้ใช้ ในบางครั้ง แฟล็กข้อผิดพลาดบางอย่างก็ถูกตั้งค่าไว้ด้วยเหตุผลบางประการ ในขณะนั้น cin จะไม่รับข้อมูลใดๆ บางครั้งก็ต้องใช้ตัวละครอื่นๆ ดังนั้น หากเราล้าง cin แฟล็กข้อผิดพลาดจะถูกรีเซ็ต จากนั้นเราก็สามารถใช้ฟังก์ชัน getline(), get() เป็นต้น

ฟังก์ชันละเว้น () เป็นฟังก์ชันอินพุตสตรีมอื่น ถ้าเราเขียนฟังก์ชันแบบนี้

cin.ignore(1000, ‘\n’)

จากนั้นจะละเว้น 1,000 อักขระถัดไป มิฉะนั้นจะละเว้นบรรทัดจนกว่าจะพบ '\n'