Phần nào của luồng C++ IO thực hiện chuyển đổi \r
sang \r\n
? Có phải chính nó là stream_buf
hoặc là một phần của chuyển đổi mã hóa bên trong thành mã hóa bên ngoài theo khía cạnh codecvt
?luồng, stream_bufs, codecvt khía cạnh và n tới r n dịch
UPDATE 1
Tất cả các bạn nói rằng nó được thực hiện trong streambuf/filebuf. Được. Nhưng cách sắp xếp này xử lý như thế nào, ví dụ, mã hóa bên ngoài như UTF-16? Sau đó, có vẻ như các tập tin đã được mở ra với cờ ios::binary
mà vô hiệu hóa bản dịch.
Không nên là '\ n' để chuyển đổi' \ r \ n'? Thông thường, những gì bạn sẽ nhận được từ mã di động là '\ n' và bạn cần phải thêm trước dòng nguồn cho các biểu diễn" cửa sổ như ". –
Để thêm phần bổ sung '\ r' không liên quan đến mã hóa ký tự đã sử dụng, nó vẫn là ký tự phụ. '\ R' điều khiển con trỏ ghi đầu cuối để bắt đầu tại cột 0 cho một số đầu cuối. 'codecvt' kiểm soát số byte được sử dụng để mã hóa một ký tự đơn. –