| Цитата(iRUSH @ 14.9.2009, 20:48) | | Код | void SaveToFile(vector<Date> &vec,vector<Event> &ev) { ofstream out("test123.txt"); vector<Date>::iterator vecBegin; vector<Event>::iterator evBegin; for(evBegin=ev.begin(),vecBegin=vec.begin();vecBegin!=vec.end();vecBegin++,evBegin++) { out << *vecBegin << *evBegin << endl; } out.close(); }
|
Может так(только возможно тогда у структур нужно будет переопределить оператор << и >>)? и Вообще у тебя какаято логика сохранения неправильная, проще сначало сохранить в файл размер массива, затем данные, потом размер второго массива, затем его данные, когда считываешь, сначало читаеш размер первого массива, его данные ну и соответственно размер второго массива, и его данные... |
пробовал так:
| Код | FILE*f=fopen("test.txt","wb+"); vector<Date>::iterator vecBegin; vector<Event>::iterator evBegin; for(vecBegin=vec.begin(),evBegin=ev.begin();vecBegin!=vec.end();vecBegin++,evBegin++) { fwrite(&vecBegin,sizeof(vector<Date>),1,f); fwtite(&evBegin,sizeof(vector<Event>),1,f); } fclose(f);
|
но так же не особо получалось,данные считывались только в новый вектор,и то если они были сохранены/считаны при запущеном приложение,если к примеру записать данные,и закрыть приложение,то потом никак считать не получается...вечно ошибки вылетают |