【问题标题】:How do I insert user input variables into same spot in vector<string>?如何将用户输入变量插入 vector<string> 中的同一位置?
【发布时间】:2021-12-12 04:54:54
【问题描述】:

//主驱动

int main(){

//如果我运行下面的代码。

    vector<string> A = {"My name is Muzaib.\n Hello"};
    cout << A[0];

//它会打印我的名字是 Muzaib

// 你好

//但我想知道的是,除了用户输入,我如何做同样的事情?

string name, age;
cout << "Enter name: ";
getline(cin,name);
cout << "\nEnter age: ";
getline(cin,age);
vector<string> B = {"name \n age"}  //remember I want it in the same spot.
cout << B[0]

​ 返回 0; }

【问题讨论】:

  • 这可能吗?

标签: c++11 vector


【解决方案1】:

在我看来你想从name + '\n' + age 构建一个字符串,所以:

std::vector<std::string> B = {name + '\n' + age};

不过,我建议将姓名和年龄存储为单独的实体。示例:

struct foo {
    std::string name;
    int age;
};

std::ostream& operator<<(std::ostream& os, const foo& f) {
    return os << f.name << '\n' << f.age;
}

std::vector<foo> B = {{name, std::stoi(age)}};
std::cout << B[0] << '\n';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-07
    • 2023-04-08
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    相关资源
    最近更新 更多