Другие языки программирования и технологии

Как написать программу на Qt

Допустим есть текстовый файл spisok.txt, расположенный в папке с экзешником программы и имеющий следующее содержание:
Иванов Иван Иванович; М; 01.07.2013
Петрова Мария Петровна; Ж; 10.07.2013
Сидоров Влад Владимирович; М; 11.07.2013

Подскажите, пожалуйста, каким простейшим способом можно сосчитать это содержимое файла (а именно первые слова (т. е. ) фамилии, сравнить длину, и в специальной форме (окне) вывести самую длинную фамилию.

Заранее всем благодарен
Иван Бобырь
Иван Бобырь
2 402
win.h:

#include <QtGui>

class MainWin: public QWidget {
    Q_OBJECT
public:
    MainWin(QWidget *parent = 0): QWidget(parent) {
        label = new QLabel;
        QPushButton *button = new QPushButton("Open");
        connect(button, SIGNAL(clicked()), this, SLOT(doIt()));
        QVBoxLayout *layout = new QVBoxLayout;
        layout->addWidget(label);
        layout->addWidget(button);
        setLayout(layout);
}
private slots:
    void doIt() {
        QString fn = QFileDialog::getOpenFileName(this);
        if (!fn.isNull()) {
            QFile file(fn);
            file.open(QIODevice::ReadOnly);
            QTextStream in(&file);
            QString mf;
            while (!in.atEnd()) {
                QString f = in.readLine().split(';')[0].split(' ')[0];
                if (f.length() > mf.length()) mf = f;
            }
            label->setText(mf);
        }
    }
private:
    QLabel *label;
};

main.cpp:

#include <QtCore>

#include "win.h"

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    MainWin win;
    win.show();

    return app.exec();
}
Руслан Винтоняк
Руслан Винтоняк
81 675
Лучший ответ
Иван Бобырь Извини, пожалуйста, за спам. Эт из-за того интернет у меня "высокоскоростной"
Иван Бобырь Насчет проекта. Пропиши, пожалуйста там, где что нужно. Заранее благодарен!