2015-11-23 11 views
6

Trong format!(..), print!(..), println!(..) vv thật dễ dàng để chèn giá trị ở các định dạng khác nhau, tuy nhiên tài liệu không hiển thị cách thêm dòng mới cụ thể cho hệ điều hành (ví dụ: '\n' trong các thông báo/MacOS X, "\r\n" trên Windows). Có một trình định dạng định dạng như vậy không? Nếu không, làm thế nào nên đặt newlines trong chuỗi định dạng/kết quả đầu ra của họ?Có thông số định dạng nào sẽ xuất ra dòng mới cụ thể cho hệ điều hành không?

Trả lời

10

Tôi không tin như vậy.

Điều đó nói rằng, ngoại trừ Notepad, mọi thứ trên Windows từ lâu đã học được rằng \n có nhiều dòng mới là \r\n. Trong thực tế, thời gian khác duy nhất tôi có vấn đề kết thúc dòng là xấu chuyển phần mềm UNIX mà từ chối tin vào sự tồn tại của \r\n dòng mới.

Nói cách khác, trừ khi bạn có lý do cụ thể để làm như vậy, chỉ cần gắn vào \n.

Nếu bạn làm có một lý do cụ thể, có lẽ đơn giản nhất để xác định một NL liên tục ở đâu đó (tôi không thể tìm thấy một trong stdlib):

#[cfg(windows)] pub const NL: &'static str = "\r\n"; 
#[cfg(not(windows))] pub const NL: &'static str = "\n"; 
Các vấn đề liên quan