"đúng" phụ thuộc vào chính xác những gì bạn đang cố gắng thực hiện.
\ n sẽ luôn cung cấp cho bạn kết thúc dòng "kiểu unix". \ r \ n sẽ luôn cung cấp cho bạn kết thúc dòng "phong cách dos". % n sẽ cung cấp cho bạn dòng kết thúc cho nền tảng bạn đang chạy
C xử lý điều này theo cách khác. Bạn có thể chọn mở tệp ở chế độ "văn bản" hoặc "nhị phân". Nếu bạn mở tệp ở chế độ nhị phân \ n sẽ cung cấp cho bạn kết thúc dòng "kiểu unix" và "\ r \ n" sẽ cung cấp cho bạn kết thúc dòng "kiểu dos". Nếu bạn mở tệp ở chế độ "văn bản" trên hệ thống dos / windows thì khi bạn viết \ n, mã xử lý tệp sẽ chuyển nó thành \ r \ n. Vì vậy, bằng cách mở tệp ở chế độ văn bản và sử dụng \ n, bạn sẽ nhận được phần cuối của dòng dành riêng cho nền tảng.
Tôi có thể hiểu tại sao các nhà thiết kế của java không muốn sao chép những ý tưởng hacky của C về chế độ tệp "văn bản" và "nhị phân".