これですべてを試しました。私は以下のクラスを持っており、ファイルを読み込んでgetlineを使ってすべてのコンテンツを取得し、それを文字列としてコピーするドライバを持っています。STLと文字列からベクトルへのデータ
私のドライバには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`
私は混乱しているが。私は 'vector'の使用方法は見当たりません。どこで使うのかは分かりません。 –
あなたの文字列はどうなっていますか?文字列からセミナーのオブジェクトを既に取得しましたか? –
ファイルから文字列を取り、おそらくデータをnumber、date、およびtitleフィールドに解析し、そのデータを 'Seminar'オブジェクトに保存するメソッドを記述する必要があります。このメソッドをコンストラクタ、またはオーバーロードされたストリーム演算子( '<<')、または単に通常のメソッドにすることができます。それはあなた次第です。ベクターがオブジェクトのコピーコンストラクタを使ってそれをコピーし、あなたのオブジェクトのデフォルトのコピーコンストラクタで十分であるため、そのオブジェクトをベクターに入れるのに特別なことをする必要はありません( 'push_back'などを使用します)。 – indiv