Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 1.445 pregleda

Najnovija ↓

Citanje .txt line by line 29.01.2013. u 17:42 · pre 167 meseci #1
Pravim jednu aplikaciju u QT creatoru, nije obavezan primer za QT moze i obican C++ sve jedno..
Moj problem je sledeci.

Imam tekstualni faj koji sadrzi neka pitanja i odgovore kao sto je dole prikazano.

pitanja_odgovori.txt

Pitenje_1 = Odgovor_1
Pitenje_2 = Odgovor_2
Pitenje_3 = Odgovor_3

Ovakve redove imam u tom tekstualnom fajlu.
Sta men muci sada, ja zanm da citam fajl LINE BY LINE. Kako da citam red linije do znaka "="?

Ako je korisnik uneo pitanje "Koji je broj vatrogasne sluzbe?"
Zasto zelim da to bude u posebnom fajlu: iz razloga ako budem zeleo da dodam nova pitanja potrebno je samo da ih dodam u tom fajlu a ne direktno u kod u Switch il IF statments-u.

Koji je broj vatrogasne sluzbe? = 193

Kako da procitam liniju do znaka = i kako kada zelim da dam odgovor krisniku citam red posle znaka = ?

Ovo je aplikacija koja ce automacki da odgovara na pojedina korisnicka pitanja...


Svi predlozi su dobrodosli... Hvala unapred

Re: Citanje .txt line by line 29.01.2013. u 17:56 · pre 167 meseci #2
Npr. pročitaš celu liniju u QString (ovo prolazi ako linije nisu prevelike, tj. dok ne osetiš problem u performansama, mada svakako će ti tu biti potreban i drugi deo linije, pa je dobro pročitati to odjednom).

Kada pročitaš, podeliš QString:

Code:

QString znak = "=";
QStringList delovi = linija.split(znak);

// prvi je u delovi.at(0), a drugi je u delovi.at(1)

Sviđa mi se1
Re: Citanje .txt line by line 29.01.2013. u 18:15 · pre 167 meseci
izmenjeno 2 puta, poslednji put _ikac 30.01.2013. u 10:18
  1. _ikac30.01.2013. u 10:18zapis iz teksta poruke
  2. _ikac29.01.2013. u 18:27zapis iz teksta poruke
#3
Da to je to, hvala na brzom odgovoru.

Evo koda ako nekom zatreba:

Code:

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFile inputFile("input.txt");
    if (inputFile.open(QIODevice::ReadOnly))
    {
       QTextStream in(&inputFile);
       while ( !in.atEnd() )
       {
          QString line = in.readLine();
          QString _char = "=";
          QStringList part = line.split(_char);

          qDebug() << part.at(0);

       }
    }
    inputFile.close();
    return a.exec();
}

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme