Re[2]: Стандарт перевода wchar_t в char
От: puredev  
Дата: 10.02.10 09:20
Оценка:
Здравствуйте, gear nuke, Вы писали:

GN>Здравствуйте, <Аноним>, Вы писали:


А>>что на данный момент является стандартом С++ преобразования из wchar_t в char?


GN>Пока только что только proposed wstring_convert


А>>Например, вывести в поток ofstream строку wchar_t (не двоичным образом, а предврительным преобразованием в char).


GN>Используя C, что входит в стандартную библиотеку C++:

GN>
GN>int main()
GN>{
GN>  using namespace std;
GN>  wstring ws = L"wide string";
GN>  //setlocale(LC_ALL, "russian");
GN>  ostream_iterator<char> osi(cout);
GN>  transform(ws.begin(), ws.end(), osi, wctob);
GN>}
GN>


Спасибо за пример! Единственно, мне надо было в файл (ofstream):

std::ofstream Logger::_file("task.log", std::ios::out|std::ios::trunc);

...
void Logger::trace(std::wstring& text) throw() {
_file << " ## " << std::endl;

setlocale(LC_ALL, "russian");
std::ostream_iterator<char> osi( _file );
transform( text.begin(), text.end(), osi, wctob );
}

надеюсь прокатит
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.