русские символы в консольных программах
некорректно отображаются subj.
Цитата:
Originally posted by neutrino4
некорректно отображаются subj.
некорректно отображаются subj.
Эт зависит от региональных настоек и шрифтов для консоли. Как идея засунуть текст в файл в "правильном" для винды формате, и от туда забацать на экран? Чувствуется мне в этом есть какой-то подвох, но других идей не ма... Если честно, то сам эту фишку пока не пробовал провернуть... Не было случая :)
я эту проблему решил так:
char* rus(char* str){
char* res = new char[strlen(str)];
CharToOem(str,res);
return res;
}
void putrus(char* str){
puts(rus(str));
}
..и так:
printf(rus("ошибка. Код: %d\n"), WSAGetLastError());
спасибо antrax, теперь все работает. Хотелось бы еще узнать, что это за формат OEM и как это все связано с Unicode?
OEM - точно не связан никак. Проца CharToOem работает в соответствии с настройками локали. И потом, это по-любому однобайтная кодировка (что бы это ни было ;))
а юникод - это 2байтная кодировка, так что у них ИМХО мало общего ;)
Цитата:
Originally posted by neutrino4
спасибо antrax, теперь все работает. Хотелось бы еще узнать, что это за формат OEM и как это все связано с Unicode?
спасибо antrax, теперь все работает. Хотелось бы еще узнать, что это за формат OEM и как это все связано с Unicode?
формат OEM - это досовский (и не только) формат ASCII. Винда использует ANSI и двубайтный Unicode