wchar не работает в VC++ 2005

wstring ws(L"Press 'q' to end.");
wcout << ws;

ошибка C2679: двоичный файл "<<": не найден оператор, который принимает правый операнд типа "std:: wstring" (или нет приемлемого преобразования)

Это в консольном приложении Win32 VC++ 2005, созданном с настройками по умолчанию... что, я думаю, означает, что UNICODE включен? Я только что узнал, что cout не поддерживает wstring, что немного уродливо - так ли это? Это приложение взаимодействует с библиотеками, которые возвращают wstrings, и это также может быть Unicode. Есть ли какие-то настройки проекта, которые мне нужно изменить?

1 ответ

Решение

Пытаться

wstring ws(L"Press 'q' to end."); 
wcout << ws.c_str(); 

Кстати: wchar!= Wstring

Другие вопросы по тегам