2009-03-03 20 views
1

我在使用fstreams而不是舊的基於文件的文件處理函數在C++中打開一個Unicode文件時遇到了麻煩。當使用_wfopen打開文件時,我可以指定一個模式來告訴它使用什麼字符編碼。例如:wifstream相當於_wfopen的「模式」參數嗎?

_wfopen_s(&file, fileName, unicode ? L"r+, ccs=UTF-16LE" : L"r+"); 

這工作正常。雖然在使用wifstream時,我在文件的開頭都得到了字節順序標記,而文件的其餘部分出現在與0x00交錯的內存中。顯然,它只是將每個字符讀爲一個字節。

我的問題是:是否有任何等同於上面的'mode'參數用於fstreams?如果沒有,那就不是很糟糕,我只是比較喜歡FILEs上的流的語法。

謝謝!

回答