Russian Qt Forum
Ноябрь 22, 2024, 21:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: И снова о записи кириллицы в файл  (Прочитано 5656 раз)
hank
Гость
« : Апрель 08, 2011, 11:13 »

Сразу говорю, что по форуму я полазил, но так ответа и не нашёл Улыбающийся
Пытался записать русский текст в файл, долго мучился с кодеками и в конце пришёл вот к такому результату:
Код:
QFile file("file.txt");

file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);

QTextCodec *codec = QTextCodec::codecForName("cp-1251");

QTextCodec::setCodecForTr(codec);

out << tr("test тест");

Это всё работает, но мне не очень удобно оборачивать каждую строчку в tr().
Можно ли как-то обойтись без этого?
Пробововал как-то так, но ничего не выходит:
Код:
out.setCodec(QTextCodec::codecForLocale());

out << "test тест";
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Апрель 08, 2011, 11:19 »

Охтыжблин. Ну сколько можно твердить, что не нужно использовать символы кириллицы в коде??? Сами же себе проблемы делаете.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
hank
Гость
« Ответ #2 : Апрель 08, 2011, 12:42 »

А если мне нужно написать приложение, которое только и делает, что выводит кириллицу в файл?
Мне всё равно нужно будет латиницей писать, а потом её лингвистом допиливать?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Апрель 08, 2011, 12:50 »

....придется...допиливать...

Это нормально: пишешь на английском -> переводишь в лингвисте -> получаешь русский.

Если так не хочешь, то можешь хранить русские строки в отдельном файле, загружать его в QStringList и вытаскивать нужные строки по номеру. Но это тоже костыль.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 22.