STL и данные из строки в вектор - PullRequest
0 голосов
/ 08 декабря 2011

Хорошо. Итак, я попробовал все.У меня есть класс ниже, и у меня есть драйвер, который будет читать файл и получать весь контент, используя getline, и копировать его в виде строки.

В моем драйвере у меня также есть vector<Seminar>.

Что меня смущает, так это КАК поместить мои данные из строки в вектор.Теперь я думал, что, может быть, сначала мне нужно сделать конструктор и т. Д., Чтобы это работало?

Не могу реализовать это правильно.

class Seminar
{
    public:

        Seminar(int number = 0, string date = "yyyy-mm-dd" , string title = "")
        {
          Number = number;
          Date = date;
          Title = title;
        }

        int get_number() const {return Number; }
        string get_date() const {return Date; }
        string get_title() const {return Title; }

    private:
        int Number;     // Seminar number
        string Date;      // Date of Seminar
        string Title;   // Title of Seminar
};





enter code here 
    vector<Seminar> all;
    main()
ifstream InFile;
string Letter;
string File;
cout << "Type Letter from the Menu: "<<endl;
cin >> Letter;

if (Letter == "A" || "a")
{

    cout << "What is the file you would like to read: "<<endl;
    cin >> File;
    InFile.open(File.c_str(),ios::in);
    if(InFile)
    {
        string line = "";
        while(getline(InFile,line))
        {
            cout << line << endl;
        }
    InFile.close();

    }
}`enter code here`

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Что-то вроде следующего должно указывать в правильном направлении:

#include<vector>
#include<iostream> 
#include<string>

int main()
{
  std::vector<std::string> myStringVector;
  myStringVector.push_back("First");
  myStringVector.push_back("Second");

  std::cout<<myStringVector[0]<<"\n"<<myStringVector[1]<<"\n";

  return 0;
 }

И я думаю, что в вашем случае вам может потребоваться сделать что-то вроде:

Seminar seminar1(<data here>);
std::vector<Seminar> seminarVector;
seminarVector.push_back(seminar1);
0 голосов
/ 08 декабря 2011

Если у вас есть вектор , используйте push_back () , чтобы добавить к нему значения.

std::vector<std::string> foo;

foo.push_back( "hi there!" );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...