2013-04-05 124 views
1

我有一個簡單的記錄器類,我試圖變成接受和輸出wstrings而不是字符串。C++ wstring文件,而不是字符串

頭:

#include <fstream> 
using namespace std; 

class CLog 
{ 
    public: 
    CLog(wstring filename); 
    ~CLog(); 
    void WriteString(string uString); 
    private: 
    fstream m_stream; 
}; 

CPP:

#include "stdafx.h"; 
#include "log.h"; 

CLog::CLog(wstring uPath) 
{ 
    m_stream.open(uPath); 
} 
void CLog::WriteString(string uString) 
{ 
    m_stream << uString.c_str() << endl; 
} 
CLog::~CLog() 
{ 
    m_stream.close(); 
} 

任何人都可以建議我應該用什麼來代替fstream的? 我試過使用wstringstream,但它甚至沒有.open輸出到文件,所以我認爲這是錯誤的方法。

我想保持立即寫入文件的行爲。

+1

看這裏http://stackoverflow.com/questions/1509277/why-does-wide-file-stream-in-c-narrow-written-data-by-default – kassak 2013-04-05 09:16:48

+0

您發佈的鏈接是信息性的,但沒有什麼幫助。 – tmighty 2013-04-05 09:26:00

+0

有你可以使用的東西 - 'std :: wofstream' – kassak 2013-04-05 09:32:12

回答

4

我現在使用「wofstream」而不是「fstream」,並且它完美地工作。

相關問題