Cách nào tốt hơn để xóa đầu vào cin
? Tôi nghĩ rằng cin.clear
và cin.ignore
là một cách hay?Xóa đầu vào cin: cin.ignore có phải là một cách hay không?
Code:
void clearInput()
{
cin.clear();
cin.ignore(1000,'\n');
//cin.ignore(std::numeric_limits<streamsize>::max(), '\n');
}
giáo viên của tôi đã cho tôi câu trả lời này:
này về cơ bản nói rằng clearInput của bạn không hoạt động FYI: bỏ qua KHÔNG BAO GIỜ là một ý tưởng tốt như là một cách của loại bỏ tất cả những gì còn lại trên một dòng
và bạn không thực hiện thử nghiệm này là chính xác lý do tại sao bây giờ đi rõ ràng nó là cách chính xác
Cô cũng nói với tôi điều này như sau:
trên phớt lờ bạn cần phải đoán xét cách nhiều ký tự mà bạn muốn bỏ qua Nếu bạn hoàn toàn biết dữ liệu của bạn và nó tuân theo định dạng nghiêm ngặt - như trong bảng tính Excel , bỏ qua thực sự tốt. Nếu bạn KHÔNG ở trong loại tệp này, thì bạn KHÔNG BAO GIỜ sử dụng bỏ qua. Câu hỏi, là dữ liệu của bạn được định dạng đúng không? Nếu có, hãy sử dụng bỏ qua. Nếu không, không sử dụng bỏ qua.
Liệt kê TẤT CẢ cách nhận dữ liệu? 1) có trích xuất >>
và cũng có ??????
xin liệt kê cho tôi
Tại sao? Anh ta nghĩ bỏ qua có nghĩa là "bỏ qua"? Nó trích xuất và quăng các nhân vật, có lẽ những gì anh ta muốn bạn làm bằng tay. – Duck
Âm thanh như giáo viên của bạn có ý nghĩa như vậy. Theo như tôi biết, 'clear' thì' ignore' là cách tiêu chuẩn để xóa dòng. Sau đó, kiến thức luồng của tôi lại thấp. – GManNickG
Tôi muốn đi xa hơn một chút so với "loại trung bình". Chúc may mắn trên lớp và có vẻ như bạn nên "phớt lờ" anh ấy. – Potatoswatter