Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
terrible |
17.1.2008, 16:46
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 16.10.2007 Пользователь №: 13 Спасибо сказали: 1 раз(а) Репутация: 0
|
Пытаюсь делать это так:
Но в файл записывется обракадабра. Причем если строку: перенести за setCodecForCStrings, то все нормально, почему?Я не могу переносить потому, что у меня массив глобальный, и он инициализирется раньше вызова функции main. Как это обойти? Сообщение отредактировал terrible - 17.1.2008, 16:47 |
|
|
|
|
archimed7592 |
17.1.2008, 16:56
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(terrible @ 17.1.2008, 16:46) Link перенести за setCodecForCStrings, то все нормально, почему? Потому что инициализация строк происходит с другим кодэком(т.е. до того, как ты выставил кодэк). |
|
|
|
|
terrible |
17.1.2008, 16:59
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 16.10.2007 Пользователь №: 13 Спасибо сказали: 1 раз(а) Репутация: 0
|
Цитата(archimed7592 @ 17.1.2008, 16:56) Link Потому что инициализация строк происходит с другим кодэком(т.е. до того, как ты выставил кодэк). И как быть?
|
|
|
|
|
archimed7592 |
17.1.2008, 17:00
Сообщение
#4
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0
|
Как вариант:
CODE struct CodecHelper { CodecHelper() { QTextCodec::setCodecForCStrings( QTextCodec::codecForName( "windows-1251") ); } }; QString *initArr() { static CodecHelper ch; static QString arr[] = { "тест 1", "тест 2", "тест 2"}; return arr; } QString *arr = initArr(); int main() { // ... } |
|
|
|
|
terrible |
17.1.2008, 17:10
Сообщение
#5
|
|
Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 16.10.2007 Пользователь №: 13 Спасибо сказали: 1 раз(а) Репутация: 0
|
Интересное решение, спасибо, работает.
p.s. может добавите в "технику программирования", авось кому пригодится! |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 4:28 |