C++ 如何读取字符串并存储到多个变量中?

C++ 如何读取字符串并存储到多个变量中?,c++,string,C++,String,如果我提示用户在一行中输入6个数字,例如: 3 4 5 6 7 8 如何将字符串中的第一个数字存储到变量Num1,第二个数字存储到变量Num2,第三个数字存储到变量Num3,等等。?也就是说,我需要提示用户输入包含6个不同数字的单行,然后将这6个数字拆分为6个不同的变量 这是我的代码: #include <iostream> #include <string> using namespace std; int main() { string num; c

如果我提示用户在一行中输入6个数字,例如:

3 4 5 6 7 8

如何将字符串中的第一个数字存储到变量
Num1
,第二个数字存储到变量
Num2
,第三个数字存储到变量
Num3
,等等。?也就是说,我需要提示用户输入包含6个不同数字的单行,然后将这6个数字拆分为6个不同的变量

这是我的代码:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string num;
    cout << "Enter one line containing 6 integers" << endl; 
    getline(cin, num)

    return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
字符串数;
你可以这样做:

cin>>num1>>num2>>num3>>num4>>num5>>num6;
c++在空格字符上断开字符串


使用“cin”代替“getline”。

在C中,可以将拆分字符串与strtok一起使用

请参见本教程:

对于C++,我们已经有一个问题可以回答你的需要:


希望这对你有帮助。

你可以这样做

std::string line;
std::getline(std::cin, line);
std::istringstream iss(line);
iss >> num1 >> num2 >> num3 >> num4 >> num5 >> num6;

但是,我强烈建议您查看容器(例如,
std::array
std::vector
std::list
)

这就是数组的用途……使用这么多变量是不实际的。你在上一个主题中已经得到了答案:你永远不要在代码中说
2
3
。神奇的数字意味着你违反了零一多规则。