Macro println!
trong Rust luôn để lại ký tự dòng mới ở cuối mỗi đầu ra. Ví dụLàm cách nào để in đầu ra mà không có dòng mới trong Rust?
println!("Enter the number : ");
io::stdin().read_line(&mut num);
cung cấp cho các đầu ra
Enter the number :
56
Tôi không muốn đầu vào của người dùng 56
được trên một dòng mới. Làm thế nào để tôi làm điều này?
"* Lưu ý rằng stdout thường xuyên được đệm theo mặc định vì vậy có thể cần phải sử dụng' io :: stdout(). Flush() 'để đảm bảo đầu ra được phát ra ngay lập tức. *" - https: //doc.rust-lang.org/std/macro.print!.html – ArtemGr
@ArtemGr: Trong C++ (và CI nghĩ), khi bạn cố gắng đọc từ 'stdin', bộ đệm' stdout' được xóa ngay lập tức. Tôi đã có thể mong đợi (có thể sai) hành vi tương tự từ Rust, và ví dụ được trình bày trên trang 'print! 'Không đọc từ' stdin' để nó không có kết luận về vấn đề này ... bạn có thêm thông tin không? –
@MatthieuM. Tôi đã thực hiện một bài kiểm tra đơn giản trên Windows và Linux với Rust hàng đêm và không có ** xuất hiện xả ra ** nào trong mã của câu trả lời, ví dụ: "Nhập số:" chỉ được in ** sau khi chương trình kết thúc ** và không phải trước khi 'read_line' xảy ra. – ArtemGr