Здравствуйте, 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 );
}
надеюсь прокатит