2012-06-01 62 views
1

如何使用MFC將unicode寫入文件。我嘗試使用Cfile類寫入文件,但不確定如何指定TCHAR的長度,並且無法打印出新行。代碼片段是受歡迎的。寫入文件mfc

+0

谷歌搜索: 「MFC寫入文件」 給出了一個例子 – Brady

+0

'length_of_string *的sizeof(TCHAR)'負荷? –

+1

你不應該使用TCHAR,因爲那麼文件的實際內容將取決於編譯設置(因此,只有你的程序能夠使用該文件 - 這可能不是你想要的)。請參閱utf8everywhere.org關於如何獲取正確的平臺無關文件內容。 –

回答

2

如果要將\ n自動轉換爲\ r \ n個字符,請使用CStdioFile和方法ReadString/WriteString。下面的示例使用的CFile:

CString strFileContent; 
CString strFilePath; 

CFile theFile(strFilePath, CFile::modeReadWrite | CFile::modeCreate); 

// write BOM if you like 
// WCHAR bom = 0xFEFF; 
// theFile.Write(&bom, 2); 

theFile.Write((LPCTSTR) strFileContent, 
    strFileContent.GetLength() * sizeof(TCHAR));