detective1711

Getdata

May 16th, 2013
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. /*=====Split a string to 8 sub-strings, use a character to mark the sign====
  2. Input: a string contents signs, and sign
  3. Output: Return a struct to save 8 sub-string
  4. */
  5. _st split(string str, char sign)//_st là cấu trúc sinh viên dùng để lưu dữ liệu của 1 sinh viên
  6. {
  7.     _st st;
  8.     istringstream tmp(str);
  9.     getline(tmp, st.mssv, sign);
  10.     getline(tmp, st.name, sign);
  11.     getline(tmp, st.dob.d, sign);
  12.     getline(tmp, st.dob.m, sign);
  13.     getline(tmp, st.dob.y, sign);
  14.     getline(tmp, st.clss, sign);
  15.     getline(tmp, st.nick, sign);
  16.     getline(tmp, st.phone, sign);
  17.     return st;
  18. }//=====================================================
  19. /*========Load data from a file to a list===============
  20. Input: file_name and list
  21. Output: Data loaded
  22. */
  23.  
  24. void load_to(string file_name, _list &lst)// _list là cái cấu trúc danh sách đã tạo nhé
  25. {
  26.     fstream fs;
  27.     _nd *nd;
  28.     string str;
  29.     fs.open(file_name, ios::in);
  30.     if(fs.is_open())
  31.     {
  32.         while((fs.good())&&(!fs.eof()))
  33.         {
  34.             getline(fs, str);
  35.             if(str=="")
  36.                 break;
  37.             else
  38.             {
  39.                 nd=init_nd(split(str, '$'));
  40.                 add_t(lst, nd);
  41.             }
  42.         }
  43.         fs.close();
  44.     }
  45.     else
  46.         cout<<"\nCan not open file: "<<file_name;
  47. }//=====================================================
Advertisement
Add Comment
Please, Sign In to add comment