10 / 10 / 3
Регистрация: 22.05.2011
Сообщений: 164
1

Построчное чтение из файла

22.03.2012, 21:21. Показов 43827. Ответов 13
Метки нет (Все метки)

Мне требовалось следующее: реализовать чтение из файла построчно и записывать каждую строчку в три разные переменные(файл по умолчанию со всеми строчками, имеющими строго по 3 слова). Я сделал это, основываясь на примерах в документации по QFile. Однако, это не работает(как всегда), не считываются слова. Вот сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
QString Log = *log, Pass = *pass, currLog, currPass, line, loginMode;//строки
QFile accounts("accounts.txt");// обьявляем
    if (!accounts.open(QIODevice::ReadOnly | QIODevice::Text)){// открываем
        qDebug() << "can't open account list";//на всякий случай
    }else{
        
        QTextStream accIn(&accounts), lineIn(&line);// первый - стрим файла, второй - читаемой строки
 
        while (!accIn.atEnd()) { // до тех пор, пока файл не кончился
            line = accIn.readLine(); // с этой строчки
 
            lineIn.flush();
 
            lineIn << currLog << currPass <<  loginMode;// до этой мы задаем значения строкам( логин, пароль, группа пользователя)
 
       
           if(Log==currLog&&Pass==currPass){//если логин и пароль совпадают
           continue;//выходим из цикла
          //далее следует запись группы пользователя в сокет и отправка клиенту
           
       
        }
       
    }
   
}
ПС Тут скорее всего г.внокод, так что сразу пардон за каку)

Добавлено через 37 минут
В строчке 15 опечатка, нужно >>
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2012, 21:21
Ответы с готовыми решениями:

Построчное чтение файла
Вот так получается считать одну строку: void MainWin::readProtocol() { QString nameFile,...

Вывод из файла в QTableWidget, построчное чтение с конца файла
Привет! Делаю первые шаги в Qt, собственно поэтому без проблем никуда. Моя задача на данный...

Построчное чтение QT
Добрый день, у меня есть вопрос как можно считать n-тую строчку например 3 и 4 из файла?

Чтение файла CSV и чтение из Table View
Здравствуйте, задача считать столбцы и строки excel в TextEdit. Прошу помощи в реализиции. ...

13
12 / 14 / 2
Регистрация: 03.08.2011
Сообщений: 213
22.03.2012, 21:58 2
Цитата Сообщение от MaXaS Посмотреть сообщение
continue;//выходим из цикла
ну это ведь не выход а с начала начинаетт его break - выход
да и поясните как код работает вот

Цитата Сообщение от MaXaS Посмотреть сообщение
line = accIn.readLine(); // с этой строчки
1 строку прочтет а как вы его перемещаете ???
0
10 / 10 / 3
Регистрация: 22.05.2011
Сообщений: 164
22.03.2012, 23:14  [ТС] 3
Хмм, а первую строчку он и читал только. Как перемещаться на другие строчки?
0
12 / 14 / 2
Регистрация: 03.08.2011
Сообщений: 213
23.03.2012, 10:22 4
я не уверен но копать надо в QTextStream
функции pos() seek() readLine()
0
Автор FAQ
2728 / 1424 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
23.03.2012, 11:19 5
Лучший ответ Сообщение было отмечено как решение

Решение

Не знаю что там у тебя может не работать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  QFile file("test.txt");
    if(file.open(QIODevice::ReadOnly |QIODevice::Text))
    {
        while(!file.atEnd())
        {
            //читаем строку
            QString str = file.readLine();
            //Делим строку на слова разделенные пробелом
            QStringList lst = str.split(" ");
              // выводим первых три слова
            qDebug() << lst.at(0) << lst.at(1)<<lst.at(2);
        }
 
    }
    else
    {
        qDebug()<< "don't open file";
    }
7
12 / 14 / 2
Регистрация: 03.08.2011
Сообщений: 213
23.03.2012, 12:28 6
Чистый а правда как перемещаться между строками ??
0
Автор FAQ
2728 / 1424 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
23.03.2012, 12:49 7
в каком плане перемещаться ? в примере что я дал файл считывается построчно а не одну только сроку
0
10 / 10 / 3
Регистрация: 22.05.2011
Сообщений: 164
24.03.2012, 16:46  [ТС] 8
Цитата Сообщение от Чистый Посмотреть сообщение
в каком плане перемещаться ? в примере что я дал файл считывается построчно а не одну только сроку
Вот пример из документации, там присутствует загадочная process_line(line), которая никак не распознается
C++
1
2
3
4
5
6
7
8
     QFile file("in.txt");
     if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
         return;
 
     while (!file.atEnd()) {
         QByteArray line = file.readLine();
         process_line(line);
     }
Может быть это оно и есть?
0
Автор FAQ
2728 / 1424 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
24.03.2012, 17:19 9
нет это не оно
сам метот readLine читает строку и переводит курсор на сл строку....
0
10 / 10 / 3
Регистрация: 22.05.2011
Сообщений: 164
24.03.2012, 18:13  [ТС] 10
Ничего, до 8 апреля я должен буду закончить одну программу по которой последние пару недель тут всем мозги компостирую Отчет и сорцы на растерзание обещаю)
0
z1p0
05.06.2013, 22:06
  #11
 Комментарий модератора 
Уважай людей!
0
1 / 1 / 0
Регистрация: 17.02.2013
Сообщений: 142
25.10.2014, 22:44 12
Извиняюсь за оффтоп, но все же, а как узнать номер строки где сейчас курсор находится ?
0
Эксперт С++
8289 / 6120 / 613
Регистрация: 10.12.2010
Сообщений: 28,612
Записей в блоге: 30
25.10.2014, 22:49 13
Цитата Сообщение от wollk Посмотреть сообщение
Извиняюсь за оффтоп, но все же, а как узнать номер строки где сейчас курсор находится ?
Номер строки или текущее положение т.е смещение в байтах от начала файла?
0
1 / 1 / 0
Регистрация: 17.02.2013
Сообщений: 142
25.10.2014, 23:00 14
Можно и то, и то) В жизни все пригодится
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2014, 23:00

Чтение бинарного файла - чтение первых 9 байт
Есть код, который читает первые 9 байт бинарного файла(заголовок записи) void...

Построчное чтение из файла
Из файла нужно построчно считать числа типа double и записать в массив. Файл примерно выглядит...

Построчное чтение из файла
Здравствуйте! Как читать из текстового файла построчно? То есть имеется file.txt, //file.txt...

построчное чтение файла
Доброе утро! Мне требуется помощь в следующем у меня есть файл, примерно следующего вида: Имя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.