如何一次将多个值从用户输入存储到向量中(在c ++中)?

时间:2017-10-23 14:39:14

标签: c++ arrays string vector input

对于学校项目,我必须使用代码来破译用逗号分隔的一行数字。

例如,用户可以输入一个输入:

10,8.5,11,10.5,7.5,5,6

并使用提供的密钥,这将是输出:

sputnik

我需要接受上面的输入,并以某种方式将每个数字(在逗号之间)转换为向量,然后我将要解密每个值。

我已经将字符串用于其他密码(rot13和rot6),但在这种情况下,仅仅字符串就不起作用了。显然。

我可以使用for循环轻松地一次执行一个值,但我不认为这是他想要的。

任何帮助将不胜感激!感谢。

1 个答案:

答案 0 :(得分:0)

你可以做一些简单的事情:

std::vector<double> data;
double value = 0.0;
while (my_data_file >> value)
{
  data.push_back(value);
  char comma;
  my_data_file >> comma;
}

如果必须使用数组,则等效于:

const size_t MAXIMUM_DATA = 32;
double data[32];
double value;
size_t array_index = 0;
while ((array_index < MAXIMUM_DATA) && (my_data_file >> value))
{
    data[array_index] = value;
    ++array_index;
    char comma;
    my_data_file >> comma;
}