सी ++ आईओ धाराओं का कौन सा हिस्सा \r
से \r\n
रूपांतरण करता है? क्या यह stream_buf
है या क्या यह codecvt
पहलू द्वारा बाहरी एन्कोडिंग रूपांतरण के आंतरिक का हिस्सा है?धाराएं, stream_bufs, codecvt facets और n to r n अनुवाद
UPDATE 1
आप सभी का कहना है कि यह streambuf/filebuf में किया जाता है। ठीक। लेकिन यह व्यवस्था कैसे यूटीएफ -16 जैसी बाह्य एन्कोडिंग के साथ सौदा करती है? तब ऐसा लगता है कि फ़ाइल को ios::binary
ध्वज के साथ खोला जाना है जो अनुवाद को अक्षम करता है।
क्या यह '\ n'' \ r \ n' रूपांतरण नहीं होना चाहिए? आम तौर पर आपको पोर्टेबल कोड से क्या मिलेगा एक '\ n' है और आपको" विंडोज़ जैसे "प्रस्तुतियों के लिए लाइन फीड प्रीपेड करने की आवश्यकता है। –
अतिरिक्त '\ r' को प्रीपेड करने के लिए प्रयुक्त वर्ण एन्कोडिंग के साथ कुछ लेना देना नहीं है, यह अभी भी एक अतिरिक्त चरित्र है। कुछ टर्मिनल के लिए कॉलम 0 पर शुरू करने के लिए '\ r' टर्मिनल लिखने वाले कर्सर को नियंत्रित करता है। 'codecvt' नियंत्रित करता है कि एक वर्ण को एन्कोड करने के लिए कितने बाइट्स का उपयोग किया जाता है। –