में मैं std :: ofstream() का उपयोग कर एक यूटीएफ -16 एन्कोडेड फ़ाइल लिखने की कोशिश कर रहा हूं। बाइनरी मोड लेखन में भी "\n\0"
"\r\n\0"
के रूप में लिखा गया है। नमूना कोड:std :: ऑफ़स्ट्रीम लिखता है r बाइनरी मोड
std::string filename = ...
std::ofstream fout(filename, std::ios_base::binary);
fout.write("\xff\xfe", 2);
fout.write("\n\0", 2);
fout.close();
परिणामी फ़ाइल के हेक्स डेटा है:
ff fe 0d 0a 00
मैं कुछ गलत कर किया जाना चाहिए। 0x0d लिखा जा रहा है रोकने के लिए कोई विचार?
मैं उपयोग कर रहा हूँ एमएस VisualStudio 2013.
अद्यतन: यह बेवजह काम करना शुरू किया अपेक्षा के अनुरूप। मशीन में भूत तक चॉकलेट करें।
बाइनरी मोड में कोई अनुवाद नहीं होना चाहिए । यदि कोई अनुवाद है तो कहीं कोई त्रुटि है। –
'fout.write (" \ x0a \ 0 ", 2) के बारे में क्या;'? –
यह काम करेगा, लेकिन ओपी इस बारे में गलत तरीके से जा रहा है। इस पथ से केवल अधिक दर्द और दुख और यूनिकोड गेटचास का कारण बन जाएगा। –