C++ (Qt)char *c = nullptr;QString s ("some text");c = s.toAscii().data();//work with c
C++ (Qt)char *c = nullptr;QString s ("some text");const QByteArray b (s.toAscii());c = b.data();//work with c
C++ (Qt)char *c = nullptr;QString s ("some text");QByteArray b (s.toAscii());c = b.data();//work with c
C++ (Qt)ui->display->append();ui->display->append();ui->display->append();
C++ (Qt)struct names /*spisok nazvanii*/{ QString CityName; /*nazvanie goroda*/ names * next; /*ukaz na sled*/}; struct dict /*slovar gorodov iz faila*/{ QString letter; /*bukva*/ names name;/*spisok nazvanii na tekush bukvu*/ int NumberOfNames; /*kol-vo zapisei v razdele nazvanii gorodov*/ dict * next;/*ukaz na sled*/ names * first; /*ukaz na pervuyu zapis*/};
C++ (Qt)dict * firstDict=NULL;/*nachalo*/ names * firstNames=NULL; /*nachalo spiska nazvanii*/ dict * currDict; /*ukaz dlya perebora spiska*/ names * currNames; /*ukaz dlya perebora nazvanii*/ int Number,x; QFile file(":/files/Logos/List.txt"); if (!file.open(QFile::ReadOnly | QFile::Text)) { QMessageBox::warning(this,tr("Error"),tr("Unreal to read this directory")); return 0; } else { ui->display->append("Begin"); QString bufChar = "\0", bufName;/*buffer dlya obmena*/ QTextStream in(&file); in.setCodec("windows-1251"); while(!in.atEnd()) { bufName = in.readLine(30); x=QString::compare(QString(bufName[0]),bufChar); if (x!=0)/*novaya bukva nachala nazvanii*/ { bufChar=QString(bufName[0]); ui->display->append(bufChar); currDict=(dict *)malloc (sizeof(dict));/*videlenie pamyati*/ currDict->next = firstDict; //!!currDict->letter=bufChar;/*zapis pervoi bukvi*/ firstNames=NULL;/*novii spisok gorodov*/ currDict->first=(names *)malloc (sizeof(names));/*videl pamyati dlya novoi zapisi v spiske gorodov*/; firstDict=currDict;/*sform pervii element v slovare*/ currNames=currDict->first; //!!currNames->CityName=bufName;/*zapis nazvaniya*/ currNames->next = NULL; firstNames=currNames; Number=0; currDict->NumberOfNames=++Number; } else /*takaya bukva uje imeetsya*/ { currDict->first=(names *)malloc (sizeof(names)); currNames=currDict->first; currNames->next = firstNames; //!!currNames->CityName=bufName;/ currDict->NumberOfNames=++Number; firstNames=currNames; } } file.close(); }