Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Запись русского текста в файл


Автор: Podarochek 30.3.2008, 17:06
Использую апишную функцию CharToOem для преобразования текста на русский язык. В консоли все ок. Но пытаюсь записать текст в файл (русский), записывет крокозяблы.  smile 

Автор: korian 30.3.2008, 17:13
а если в консоли написать
type filename.txt
будет по русски?

Автор: Podarochek 30.3.2008, 17:26
 smile 
ссори...неправильно выразился...не перевожу...а получаю перекодированный текстовый буфер который выводит кирилицу в ее исходном виде...


char buf[100];
CharToOm("Все как есть!!!",buf);
cout<<buf<<endl; //Все как есть!!!


если записываю в файл...там не ТО!

fwrite((void*)buf,sizeof(char),strlen(buf)+1,f);

Автор: creatorcode 30.3.2008, 18:29
Код

   char buf[100];
    CharToOem("Все как есть!!!",buf);
    cout<<buf<<endl;
    OemToChar(buf,buf);
    fwrite((void*)buf,sizeof(char),strlen(buf)+1,f);

Автор: 586 30.3.2008, 19:27
Не нужно ничего конвертировать. Записывай в файл как есть. Блокнот с ANSI кодировкой работает, а не с OEM.

Автор: Podarochek 31.3.2008, 00:39
 smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)