PDA

Просмотр полной версии : Кодировка в Си


PriN_ce
05.11.2009, 21:03
Есть некая функция, написаная мною POS(аргумент), она делает транслит, т.е. например аргумент= Машина, то она преобразует ее => Mashina.
НО!
Всё это хорошо когда аргумент, тобиш переменная, задается в самом коде:
char st[300]="Машина"; // POS(st) переведет ее в Mashina

А нужно, чтобы само слово вводил чел, skanf() ом или gets() ом или еще как..
Здесь и начинается проблема...грубо говоря "внешняя кодировка" отличается от той, где хранится код. Помогите пожалуйста решить сие проблема)setlocale() ?

За одно и вопрос: в какой кодировке в С все "выполняется", а в какой "задается" челом?

Сори если что-то подобное было, не нашел(

PriN_ce
05.11.2009, 22:57
Разобрался, надо быол использовать OemToCharA, т.к. ввод с консоли идет в кодировке OEM, а "внутри" в анси)