C++ C++;字符串数组片

C++ C++;字符串数组片,c++,arrays,string,C++,Arrays,String,如何将输入的字符串(如“一二三四五”)拆分为数组。 目前我有: const int SIZE = 5; string digit[SIZE]; cout << "Enter the five here:"; for(int i = 0; i < SIZE; i++) { cout << i+1 << ")"; getline(cin, digit[i]); } const int SIZE=5; 字符串数字[大小]; cout如果要读

如何将输入的字符串(如“一二三四五”)拆分为数组。 目前我有:

const int SIZE = 5;
string digit[SIZE];

cout << "Enter the five here:";
for(int i = 0; i < SIZE; i++)
{
    cout << i+1 << ")";
    getline(cin, digit[i]);
}
const int SIZE=5;
字符串数字[大小];

cout如果要读取由空格分隔的单词,可以利用这样一个事实,即从输入流中提取字符串将在空格处停止:

for(int i = 0; i < SIZE; i++)
{
    cout << i+1 << ")";
    cin >> digit[i];
}
for(int i=0;i
如果要读取由空格分隔的单词,可以利用这样一个事实,即从输入流中提取字符串将在空格处停止:

for(int i = 0; i < SIZE; i++)
{
    cout << i+1 << ")";
    cin >> digit[i];
}
for(int i=0;i
如果你想把所有的“五个”放在一行中,你也可以这样做。 然后可以使用
strtok()
将字符串拆分为五个字符串。
请参阅:

如果你想把所有的“五个”放在一行中,你也可以这样做。 然后可以使用
strtok()
将字符串拆分为五个字符串。
请参阅:

您还可以使用带有3个参数的
getline
函数。第三个是分隔符

 getline(cin, digit[i], ' ');

当然,这不是从
cin
读取输入的最佳方式。但您可以使用这种方法来拆分从用户处获得的完整字符串。

您还可以使用带有3个参数的
getline
函数。第三个是分隔符

 getline(cin, digit[i], ' ');

当然,这不是从
cin
读取输入的最佳方式。但您可以使用这种方法来拆分整个字符串,这是从用户那里得到的。

perfect-我不知道为什么我没有想到。谢谢完美-我不知道为什么我没有想到。谢谢<代码>strtok
不过很讨厌。使用全局状态可能会伤害你。
strtok\u r
strep
比普通的
strtok
strtok
好得多。全局状态的使用可能会伤害你。
strtok\u r
strep
比仍然发生在for循环中的常见
strtok
要好得多,对吗?我试过了,但过程停滞了;它不会转移到下一个任务。这仍然发生在for循环中,对吗?我试过了,但过程停滞了;它不会转移到下一个任务。