Advertisement
Guest User

code

a guest
Oct 23rd, 2014
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 KB | None | 0 0
  1. /* БИНАРНОЕ СОХРАНЕНИЕ В ФАЙЛ */
  2. void dlist::save(int i)
  3. {
  4.     info *temp;
  5.     info *tempD;
  6.     info *oitemp, *oidtemp;
  7.     if(i==0)
  8.     {
  9.         ofstream fout("fout.bin", ios::out | ios::binary);
  10.         temp = head;
  11.         tempD = headD;
  12.         unsigned strlen1, strlen2;
  13.         do
  14.         {
  15.             strlen1 = temp->get_data().size()+1;
  16.             strlen2 = temp->get_data().size()+1;
  17.             fout.write((char*)&strlen1,sizeof(unsigned));
  18.             fout.write((char*)temp->get_data().c_str(),temp->get_data().size());
  19.             fout.write("\n",1);
  20.             fout.write((char*)&strlen2,sizeof(unsigned));
  21.             fout.write((char*)tempD->get_data().c_str(),tempD->get_data().size());
  22.             fout.write("\n",1);
  23.         }
  24.         while ((temp = temp->next) && (tempD = tempD->next));
  25.         fout.close();
  26.     }
  27.  
  28.  
  29. /* БИНАРНОЕ ЧТЕНИЕ ИЗ ФАЙЛА */
  30. void dlist::read(int i)
  31. {
  32.     string data, datad, ms, nm;
  33.     unsigned strlen1, strlen2, stroi, stroid;
  34.     if(i==0)
  35.     {
  36.         ifstream fin("fout.bin", ios::in | ios::binary);
  37.         if(fin)
  38.         do
  39.         {
  40.                 fin.read((char*)&strlen1, sizeof(unsigned));
  41.                 data.resize(strlen1);
  42.                 fin.read((char*)data.data(), strlen1);
  43.                 fin.read((char*)&strlen2, sizeof(unsigned));
  44.                 datad.resize(strlen2);
  45.                 fin.read((char*)datad.data(), strlen2);
  46.                 add(data,datad);
  47.         }
  48.     while(!fin.eof());
  49.     fin.close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement