Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. // CSV handling - basic concept
  2.  
  3. #include <iostream>
  4. #include <fstream>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. struct Actor {
  10.   string name, surname;
  11.   string born;
  12.   string address, eye, hair;
  13. };
  14.  
  15. bool readActor(ifstream &fromStream, Actor &a) {
  16.     getline(fromStream, a.name, ',');
  17.     getline(fromStream, a.surname, ',');
  18.     getline(fromStream, a.born, ',');
  19.     getline(fromStream, a.address, ',');
  20.     getline(fromStream, a.eye, ',');
  21.     getline(fromStream, a.hair);
  22.     // fromStream >> name >> surname >> born >> address >> eye >> hair;
  23.  return true;
  24. }
  25.  
  26. bool writeActor(ostream &toStream, Actor a) {
  27.     toStream << a.name << ", " << a.surname  << ", "
  28.              <<  a.born  << ", " << a.address  << ", " <<  a.eye  << ", " << a.hair << endl;
  29.  return true;
  30. }
  31.  
  32. bool writeActorToCSV(ofstream &toStream, Actor a) {
  33.     toStream << a.name << ", " << a.surname  << ", "
  34.              <<  a.born  << ", " << a.address  << ", " <<  a.eye  << ", " << a.hair << endl;
  35.  return true;
  36. }
  37.  
  38. int main()
  39. {
  40.     string name = "actors.csv";
  41.  
  42.     ifstream iF(name.c_str());
  43.     if (iF == NULL) {
  44.       cout << "CSV file open error" << endl;
  45.       return -1;
  46.     }
  47.  
  48.     Actor actor;
  49.     while (!iF.eof()) {
  50.         readActor(iF, actor);
  51.         writeActor(cout, actor);
  52.     }
  53.     iF.close();
  54.  
  55.     Actor newA;
  56.      newA.name = "Daniel";
  57.      newA.surname =  "Radcliffe";
  58.      newA.born = "Unknown XX; 1989";
  59.      newA.address = "Fulham; Londýn; Anglie; Velká Británie";
  60.      newA.eye = "???";
  61.      newA.hair = "brown";
  62.  
  63.     ofstream oF;
  64.     oF.open(name.c_str(), ios::app);
  65.     if (oF == NULL) {
  66.       cout << "CSV file open error" << endl;
  67.       return -1;
  68.     }
  69.  
  70.      writeActorToCSV(oF, newA);
  71.      oF.close();
  72.  
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement