Mọi người cho em hỏi “cout << … << flush;” và “cout << … <<ends;” là như thế nào ạ, em vẫn chưa rõ lắm? Và nó khác gì so với cout << endl.
Em cảm ơn mọi người nhiều.
Mọi người cho em hỏi “cout << … << flush;” và “cout << … <<ends;” là như thế nào ạ, em vẫn chưa rõ lắm? Và nó khác gì so với cout << endl.
Em cảm ơn mọi người nhiều.
Cái này chỉ có tác dụng khi bạn ghi vào file, còn ghi ra màn hình thì bạn ghi đến đâu nó flush đến đấy.
Nếu bạn ghi vào file thì mặc định api chuẩn của c++ nó buffer dữ liệu, nó không ghi ra file ngay lập tức mà chỉ ghi khi đầy buffer hoặc khi bạn đóng file, hoặc khi bạn dùng 2 lệnh trên.
flush thì đơn giản là bắt nó ghi ra output ngay.
endl (không phải ends nhé) thì như trên nhưng trước đó thì nó ghi thêm một dấu xuống hàng.
std::endl
và std::flush
đều xuất ra màn hình ngay và luôn. Khi nhập std::cin
thì do cin và cout bị tie
nên cũng xuất ra màn hình ngay.