2010-09-01 17 views
5

का उपयोग कर 'सी' में टेक्स्ट फ़ाइल (यूनिकोड) पढ़ें, मेरे पास एक पंक्ति-उन्मुख टेक्स्ट फ़ाइल (यूनिकोड) है जो CreateFile() और WriteFile() का उपयोग करके बनाई गई थी।देशी Win32

रीडफाइल() का उपयोग कर एक बाइनरी स्ट्रीम के रूप में उस फ़ाइल को पढ़ना सरल है, लेकिन इसे लाइनों में तोड़ने के लिए अतिरिक्त निम्न-स्तरीय प्रसंस्करण की आवश्यकता है।

क्या कोई Win32 फ़ंक्शन है जो मेरे लिए यह करता है?

फिर से, कृपया ध्यान दें कि यह 'सी' (सी ++ नहीं) में है और मैं POSIX/ANSI C फ़ंक्शंस जैसे रीडलाइन() का उपयोग नहीं करना चाहता हूं।

यदि उपर्युक्त प्रश्न का उत्तर नकारात्मक है, तो मूल Win32 सी फ़ंक्शंस का उपयोग करके, लाइन-ओरिएंटेड टेक्स्ट फ़ाइल को पढ़ने के लिए "सबसे छोटा कोड" क्या होगा? जैसे ReadFile(), StrChr(), आदि का उपयोग

धन्यवाद।

+1

क्या आपका मतलब यूटीएफ -16LE है? – dreamlax

+0

हां। यूटीएफ -16, लिटिल एंडियन। –

+0

उह। एमएसवीसी सीआरटी इसका समर्थन करता है। fopen() मोड तर्क में "सीसीएस", फिर fgetws()। –

उत्तर

4

AFAIK लाइन लाइन फ़ाइल पढ़ने के लिए कोई win32 फ़ंक्शन नहीं है।

+0

यह वास्तव में मैंने जांच से अब तक देखा है: http://msdn.microsoft.com/en-us/library/aa364232%28VS.85%29.aspx लेकिन मुझे कुछ याद आ रहा है। –

+0

निम्नलिखित महान लेख स्पष्ट पता चलता नहीं है कि वहाँ Win32 में हो जाता है() बराबर: http://www.apitalk.com/windows-Programming/Why-Unicode-Is-Important-Before-You-Start-To- Program.html तो मेरे लिए अगला कदम है कि रीफाइल() और StrChr() का उपयोग करके, नकल करने के लिए अपना स्वयं का फ़ंक्शन बनाना है। –

+0

कि apitalk.com लिंक मर चुका है ... [यह एक] (http://support.microsoft.com/kb/99456) नहीं है, और यह आपके निष्कर्ष की पुष्टि करता है। – WinWin