首页 > 解决方案 > 为什么将字符串变量中的数据放入字符串向量中,将每个单词放在向量中的自己的位置-C++

问题描述

我试图从字符串变量中获取数据并将其放入字符串向量中自己的位置,但它将每个单词保存为向量中自己的点。

即“买牛奶”将导致 0 是买然后 1 是牛奶而不是 0 是买牛奶。

很抱歉不知道正确的术语,我对 C++ 真的很陌生

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

using namespace std;

int main()
{
    string input;
    vector <string> Notes;
    int SaveNoteOnLine = 0;
    string output; //a var needed for specific situations, not used for all output

    cout << "welcome to cmdnotes alpha v1.0\n";
    while (true) {
        cin >> input;
        if (input == "-list") {
            for (int i = 0; i < SaveNoteOnLine; i++) {
                cout << Notes.at(i) << endl;
            }
        }
        else {
            Notes.push_back(input);
            cout << "saved on line " << SaveNoteOnLine << endl;
            SaveNoteOnLine++;
        }
    }
}

标签: c++vector

解决方案


使用 getline(cin,input) 代替 cin>>input 它会将空格作为输入


推荐阅读