从文本文件读取到对象向量

Read from a text file to object vector

本文关键字:对象 向量 读取 文本 文件      更新时间:2023-10-16
void Admin::searchFlight(string destination)
{
    Flight sFlight;
    string read;
    ifstream inFlight("Flight.txt");
    while(getline(inFlight, read))
    {
        flightList.push_back(sFlight);
    }
    int counter = 0;
    for(int i = 0; i < flightList.size(); i++)
    {
        if(destination.compare(flightList[i].getDestination()))
        {
            //counter++;
            flightList[i].displayFlightSchedule();
        }
    }
}

文本文件中有一些数据,如何读取向量内部的文本文件?这是我的重载构造函数Flight()

Flight flightSchedule(flightID,departure,destination,price,dateOfFlight,timeOfFlight);

这是我的向量声明:

vector<Flight> flightList;
根据您的

要求,假设您的航班.txt内容为:

印度 22

美国 23

中国 24

#include<iostream>
#include<vector>
#include<fstream>
#include<sstream>
using namespace std;
void searchFlight(string);
class Flight
{
  public:
  string destination;
  int tm;
  Flight(string d, int t):destination(d), tm(t)
  {
  }
  string getDestination()
  {
     return destination;
  }
  int displayFlightSchedule()
  {
    return tm;
  }
};

int main()
{
   searchFlight("India");
   return 0;
}
void searchFlight(string destin)
{
   vector<Flight> flightlist;
   string line;
   int tm;
   string dest;
   ifstream ifs("Flight.txt");
   while(getline(ifs, line))
   {
     istringstream is(line);
     is>>dest>>tm;
     flightlist.push_back(Flight(dest, tm));
   }
   for(unsigned i = 0; i<flightlist.size(); i++)
   {
     if (destin == (flightlist[i].getDestination()))
     {
       cout<<flightlist[i].displayFlightSchedule()<<endl;
     }
   }
 }

输出:

22