0
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;
4

1 回答 1

0

根据您的要求,假设您的 Flight.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

于 2013-09-15T18:25:43.327 回答