2010-05-13 5 views

답변

0

변환 할 수 있다고 생각하지 않습니다. ostream을 얻어야합니다.

+0

물론 어댑터를 사용하여 변환 할 수 있습니다. –

0

만약 내가 당신이라면 wostreamostream으로 변환하는 대신 오히려 나의 접근 방식을 변경하고 싶습니다. 나는 당신이 얻고 자하는 것이 넓은 char stream없이 쉽게 얻을 수 있다고 확신합니다.

물론 응용 프로그램의 실제 용도에 따라 다르지만 10 개 중 9 개에서 변환 루틴이나 타사 라이브러리 사용 (예 : iconv)을 간단히 구현하면 충분합니다.

업데이트 : 구글 코드 wofstream 두에 대해 하나 개의 검색 결과가 (무슨 말인지의 증거로) - wifstream를 들어. 그 사실은 그 자체로 말하지 않습니까? 그래프 출력이 wostream 연산자가없는 경우

0

당신은이 작업을 수행 할 수 있습니다 귀하의 문자열은 177 위의 임의의 값을 가질 수있는 경우



std::wstring convert(std::string const& s) 
{ 
    unsigned char const* tmp = reinterpret_cast<unsigned char const*>(s.data()); 

    std::wstring res = std::wstring(tmp, tmp + s.size()); 

    return res; 
} 

void f(std::wostream & out) 
{ 
    std::ostringstream gout; 
    gout << graph; // or whatever... 
    out << convert(gout.str()); 
} 

캐스트가 필요한 경우 할 수있는 이상한 문자 때문에로 턴 wstring 생성자가 수행 할 캐스트는 스트레이트 비트 복사 대신 네거티브로 네거티브를 바꿉니다.

관련 문제