![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
kvak |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте. Не могли бы вы посмотреть на исходники во вложении и сказать что в них неправильно. И поправить. Там маленькая программка. Задача в том, чтобы открыть log.txt и отобрать из него вхождения для каждого случая, если они встретятся. Мне кажется, что по идее все должно работать, но что-то я недопонимаю. После компиляции почему-то не хочет выполнять цикл и приложение не отвечает.
Кстати, в с++ можно задавать в цикле for по два инициализатора и два инкримента, типа такого ? for (int index = 0, int c =0 ; index != -1; index++, c++ ) { ... } Если да, то почему-то при компиляции это считалось ошибочным.
Прикрепленные файлы
|
|
|
![]() |
kvak |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо всем за грамотные ответы. Теперь все встало на свои места для меня, новичка. Как же я не увидел, что есть функции contains и count. Но с другой стороны их тоже кто-то придумал. А подскажите еще, что дает эта функция:
QApplication::processEvents(); И это out << " - OK"; Как потом можно полезно использовать объект out ? И еще немного не понял куда попадает qDebug() << "index =" << index; Я имею ввиду, где я смогу увидеть qDebug() и что такое qDebug() ?________________________________________________________________________________ p.s. А я все-таки заставил работать это дело сам ![]() Раскрывающийся текст void MyProg::analize() { QString fileName; fileName = fpath->text(); QFile file(fileName); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { QMessageBox::warning(this, tr("Vmaanalize"), tr("Cannot read file %1:\n%2.") .arg(fileName) .arg(file.errorString())); return; } ///////////////////////////start parser/////////////////////////////// while (!file.atEnd()) { QByteArray line = file.readLine(); start(line); } ///////////////////////////////////////////////////////////////// for (int a = 0; a < 40; a++) { QString two; QString equ = " = "; QString end = "\n"; QString result = (vxod[a]); two.setNum(summary[a]); result = result + equ + two + end; comit->insertPlainText(result); } } //////////////////////////////parser/////////////////////////////// void MyProg::start(QByteArray line) { QByteArray temp = line; char *lima = temp.data(); int size = 0; global = 0; while (size < 40){ parser(lima); global++; size++;} } void MyProg::parser(char* mypointer) { QString temp; QString temp2 = vxod[global]; int lee = temp2.length(); while (*mypointer) { temp.clear(); for (int length = 0; length < lee && *mypointer; length++) { temp.append(*mypointer); mypointer++; } if (!*mypointer) return; mypointer -= (lee - 1); int x = QString::compare(temp, temp2, Qt::CaseInsensitive); if (x == 0) summary[global]++; } } |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.6.2025, 21:27 |