| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Чтение из файла кириллицы |
| Автор: HellawiS 25.11.2009, 20:18 | ||
Добрый день, сделал поддержку русского в программе
после чтения записанного объекта из файла выдаются иероглифы, не подскажите ли как быть?) |
| Автор: bsa 25.11.2009, 22:14 |
| если не секрет, а почему LC_CTYPE, а не LC_ALL? |
| Автор: HellawiS 25.11.2009, 22:18 |
| если честно то не знаю, недавно начал C++ изучать, мне посоветовали я сделал) пробовал и так, и так, ничего не изменилось |
| Автор: bsa 25.11.2009, 23:09 |
| код программы в студию. Что в тестовом файле? |
| Автор: Cheloveck 25.11.2009, 23:10 | ||
У меня почему-то всё хорошо. Что за объекта? Это ты так текст обозвал? Текст в какой кодировке? Что-то я не заметил в каком месте ты его сделал) |
| Автор: HellawiS 25.11.2009, 23:27 | ||||||||
в мейне ничего кроме setlocale(LC_ALL, ".1251"); дельного нету =) Добавлено через 14 минут и 13 секунд файл не текстовой кстати =)
|
| Автор: bsa 25.11.2009, 23:48 |
| добавь флаг ios::binary при открытии файлы. |
| Автор: HellawiS 26.11.2009, 00:00 |
| fstream studfile( "DataBase.dat", ios::in | ios::out,ios::binary ); не помогло |
| Автор: Static 26.11.2009, 10:26 | ||
|
| Автор: HellawiS 26.11.2009, 17:58 |
| но компилировало же) не помогло всёравно, в файл уже записывается объект с неправильной кодировкой |
| Автор: HellawiS 26.11.2009, 18:54 |
| посмотрел в файл, записи на английском видны, на русском - иероглифы, при записи что-то не так делаю? |
| Автор: Cheloveck 26.11.2009, 20:30 | ||
В общем-то проблема известная, с ней все возятся. Под вендами std::cin игнорирует установленную локаль. Нужно конвертировать самому всё. Покапавшись в интернетах нашёл вот http://www.rsdn.ru/forum/cpp/3176606.1.aspx Не слишком изящно). Ну, так как это наблюдается под вендами онли, то можно использовать WinAPI как-то так
Ну, если не надо std::string, то ещё проще будет. |
| Автор: HellawiS 26.11.2009, 20:40 |
| а с массивом char'ов как сделать также?) |
| Автор: Cheloveck 26.11.2009, 20:47 | ||
Как-то так
|
| Автор: HellawiS 26.11.2009, 23:35 |
| спасибо большое, очень помог) |