Считать из файла в массив построчно, помогите ньюбу |
Здравствуйте, гость ( Вход | Регистрация )
Считать из файла в массив построчно, помогите ньюбу |
thechicho |
26.9.2011, 10:53
Сообщение
#1
|
Студент Группа: Участник Сообщений: 38 Регистрация: 26.9.2011 Пользователь №: 2907 Спасибо сказали: 1 раз(а) Репутация: 0 |
Сорри, я нуб, что в плюсах, что в кьюти. Не нашел раздела для новичков, поэтому решил что это наиболее подходящий.
Надо из текстового файла считать строки в массив, чтобы потом можно было его прогнать foreach. Я думаю нужно QStringList использовать как-то? Буду, благодарен, если кто поделится готовым кодом для этого на Qt. Сам пока не могу пробовать, т.к. Qt уже почти два часа собирается, да невысобирается бл... |
|
|
silver47 |
26.9.2011, 12:08
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Код из головы, могут быть ошибки незначительные Сообщение отредактировал silver47 - 26.9.2011, 12:10 |
|
|
thechicho |
26.9.2011, 14:20
Сообщение
#3
|
Студент Группа: Участник Сообщений: 38 Регистрация: 26.9.2011 Пользователь №: 2907 Спасибо сказали: 1 раз(а) Репутация: 0 |
сенкс) буду пробовать)
завершилась сборка наконец-то. 5 часов!!! и все из-за того, что нужна поддержка ssl! до этого стоял sdk и я даже представить се не мог, что такая это х...а, собрать кьюти из сорсов под виндой... столько пришлось перечитать. поставил так (если понадобится дополнительная функциональность, придется все перекомпилировать же?.. ужас же нах... 5 часов... только если на ночь ставить) ) configure -debug-and-release -openssl -I C:\OpenSSL\include -L C:\OpenSSL\lib -no-qt3support -webkit -qt-libpng -qt-libjpeg -qt-gif -qt-sql-sqlite -qt-zlib Адекватный мануал по установке (Сборка Qt с использованием MinGW32) Пока его нарыл, кучу других перечитал. Официальный ввел в меня в ступор просто, как новичка. Не советую по нему производить установку, зря время потеряете кстати, еще объясните, плиз, разницу между: -openssl | Compile in run-time OpenSSL support | This option denotes a default value and needs to be evaluated. If the evaluation succeeds, the feature is included. -openssl-linked | Compile in linked OpenSSL support если опция -openssl, то надо библиотеки OpenSSL (3 штуки) держать в папке с программой? если опция --openssl-linked, то эти библиотеки будут встроены в .exe ? (типа static сборка) |
|
|
silver47 |
26.9.2011, 18:07
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Цитата если опция --openssl-linked, то эти библиотеки будут встроены в .exe ? (типа static сборка) Нет. Также нужны 3 dllки. В чем разница не знаю. Делал всегда --openssl-linked Сообщение отредактировал silver47 - 26.9.2011, 18:08 |
|
|
thechicho |
26.9.2011, 20:38
Сообщение
#5
|
Студент Группа: Участник Сообщений: 38 Регистрация: 26.9.2011 Пользователь №: 2907 Спасибо сказали: 1 раз(а) Репутация: 0 |
подскажите еще плиз, как мне отобразить текст на кириллице из переменной в программе правильно? иероглифы вылазят.
я ща пытаюсь так: QString answer = reply->readAll(); ui->newEdit->append(answer); как я понял, строки в кьюти только Utf-8, а чтобы русский текст в проге показывался - надо Windows-1251. вот так работает: QTextCodec *rus = QTextCodec::codecForName("Windows-1251"); QTextCodec::setCodecForTr(rus); ui->newEdit->append(tr("фвыафод выаывфа выа ")); фвыафод выаывфа выа - это QChar получается? если да, то с ним понятно как поступать, чтобы показывался правильно. а как быть с переменной?.. |
|
|
silver47 |
27.9.2011, 5:04
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Я бы рекомендовал в main.cpp прописать:
Тогда и переменные и диалоги все нормально отображаются. Всеже, считаю, юникод более предпочтительнее. Цитата фвыафод выаывфа выа - это QChar получается? Нет в Qt это будет QString Сообщение отредактировал silver47 - 27.9.2011, 5:06 |
|
|
thechicho |
27.9.2011, 8:40
Сообщение
#7
|
Студент Группа: Участник Сообщений: 38 Регистрация: 26.9.2011 Пользователь №: 2907 Спасибо сказали: 1 раз(а) Репутация: 0 |
Цитата Нет в Qt это будет QString static QString tr(const char *sourceText, const char *comment = 0, int n = -1); поясните плиз, почему QString? |
|
|
silver47 |
27.9.2011, 9:13
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Упс. Прошу прощения ошибся. Пора на отдых. Для того чтобы отобразить переменную QString, достаточно следующего:
Сообщение отредактировал silver47 - 27.9.2011, 9:17 |
|
|
thechicho |
28.9.2011, 10:03
Сообщение
#9
|
Студент Группа: Участник Сообщений: 38 Регистрация: 26.9.2011 Пользователь №: 2907 Спасибо сказали: 1 раз(а) Репутация: 0 |
сенкс.
но чот я запутался. смотрите. если сайт в кодировке utf-8, то: QTextCodec *codec = QTextCodec::codecForName("utf-8"); QTextCodec::setCodecForCStrings(codec); QByteArray answer = reply->readAll(); ui->plainTextEdit->appendPlainText(answer); показывает норм. если же сайт в кодировке windows-1251, то чтобы показывало русские символы, надо явно задать: QTextCodec *codec = QTextCodec::codecForName("windows-1251"); вопрос: как отобразить страницу без этих РУЧНЫХ манипуляций. как вариант, я вижу: распарсить charset и подставить в codecForName("charset"); но если кодировка не указана на сайте не будет работать... тогда, можно как-то преобразовать в utf-8 все? типа: QByteArray answer = reply->readAll(); //тут answer каким-то чудесным образом преобразуется в utf-8 (да хоть во что, главное чтобы в проге показывало русский шрифт). ui->plainTextEdit->appendPlainText(answer); вот как-то так. помогите кодом плиз, как это реализуется |
|
|
Гость_Snake_* |
28.9.2011, 12:36
Сообщение
#10
|
Гости |
Делаешь в main.cpp:
А дальше:
Что-то в этом роде. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 1:16 |