Здравствуйте. Есть ли какая-то строгая стандартизация того, какая локаль будет активна при старте приложения? Ибо неожиданно для себя получил странное поведение. Винда 7-ка, русская, все настройки стоят русские (в "Языках и Региональных стандартах"). Создаю простейшее Win32-приложение, и выполняю такой код:
const char* ascii_str = "Привет, мир!";
wchar_t wide_str[64];
mbstowcs(wide_str, ascii_str, strlen(ascii_str));
Так вот после этого в буфере wide_str оказываются кракозяблы, и видно, что при конвертации оно использовало CP1252, а не СP1251. Почему?