【发布时间】:2021-03-25 06:37:32
【问题描述】:
我想将多字串输入向量"name"。使用 cin 对于单字输入效果很好。 我想要的是:
- 获取用户输入的字符串数。例如:“随机名称”
- 将所有字符串值存储到向量名称
这是我写的代码
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<string> names;
string user;
int n;
cout << "Enter number of Users : ";
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> user;
names.push_back(user);
}
for (int i = 0; i < names.size(); i++)
{
cout << names[i] << " ";
}
}
问题: 当我在 for 循环中使用 getline() 而不是 cin 时,它会省略 1 个输入。 例如,如果用户输入 - Number of Users = 3,则只需要 2 个字符串输入
string user[n]; // value of n given by user using cin
for (int i = 0; i < n; i++)
{
getline(cin, user[i]);
names.push_back(user[i]);
}
【问题讨论】: