好的所以我已经尝试了一切。我有下面的类,我有一个驱动程序,它将读取文件,并使用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`
答案 0 :(得分:1)
以下内容应指向正确的方向:
#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);
答案 1 :(得分:0)
如果您有一个向量&lt; string&gt;,请使用push_back()为其添加值。
std::vector<std::string> foo;
foo.push_back( "hi there!" );