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循环中,对吗?我试过了,但过程停滞了;它不会转移到下一个任务。