Witam
sa to moje poczatki z QT i nie bardzo wiem co robie nie tak otoz chce zapisac i odczytac mape do pliku postepuje zgodnie z przykladem z manuala i powiadamia mnie ze nie mam operatora >> dla mojego strumienia odczytu oto kod
void nodeContainer::saveData(){
QFile plik("/home/mahomet/Projekty/PTD/PTD/ala");
QMap<char,int> mapa;
fillMap(mapa);
if(!plik.open(QIODevice::WriteOnly)){
std::cerr<<"Cannot Open File in /home/mahomet/Projekty/PTD/PTD/ala"<<endl;
return;
}
QDataStream data(&plik);
data.setVersion(QDataStream::Qt_4_3);
data<< mapa;
plik.close();
}
void nodeContainer::fillMap(QMap<char,int>& mapa){
list<charNode *>::iterator it;
for(it = storedData.begin();it!=storedData.end();it++){
mapa.insert((*it)->getCharVal(),(*it)->getVal());
}
}
void nodeContainer::getData(){
QFile plik("/home/mahomet/Projekty/PTD/PTD/ala");
QMap<char,int> mapka;
reset();
if(!plik.open(QIODevice::ReadOnly)){
std::cerr<<"Cannot open File /home/mahomet/Projekty/PTD/PTD/ala : Operation aborted"<<endl;
return;
}
QDataStream data(&plik);
data.setVersion(QDataStream::Qt_4_3);
data >> mapka;
}
Pozdrawiam
Moze to sie przydac przy kompilacji dostaje cos takiego
No match for operator >> in key
Pozniej pozmienialem z int na qint32 w moje mapie ale nie na wiele to sie zdalo
Pozdrawiam