我对C++相当陌生,并且正在尝试编写一个程序,该程序可以对我输入的一组名称(按字母顺序排序)进行排序,但是我希望这样做我可以一次输入所有的名字;我已经对排序进行了编码,并且已经用多个名字进行了测试,但现在我必须在每个名字后面输入一个字来表示一个新名字。我搜索的方式来根据关中输入空格输入分开但我发现这里面只有分开第一2个字/名称:如何将空格中的一个输入分隔为多个
int main(){
string input;
getline(cin, input);
string temp1;
string temp2;
for (int i = 0; i < input.length(); i++){
if (input[i] == ' ') {
temp1.append(input.substr(0, i));
temp2.append(input.substr(i + 1, input.length() - 1));
break;
}
}
cout << temp1 << endl;
cout << temp2 << endl;
}
我已经与部分围绕发挥出现分离代码,并试图让他们重复每一个空间,但我不能得到它的工作。正如我所说,我对C++相当陌生,所以如果任何人都可以引导我朝着正确的方向发展,或者建议一种更好的方式来实现我想要做的事情,那将会很棒。
感谢,
-Eric
---编辑---
例输入:
威廉·萨拉查马特·彼得约翰
输出示例:
查理约翰马特彼得萨拉威廉
(正如我所说,我已经有程序进行名称排序,我只需要知道如何一次输入所有名称并让程序将第一个指定给temp1,第二个指定temp2,第三个指定temp3等)
可能的重复[如何在C++中拆分字符串?](http://stackoverflow.com/questions/236129/how-to-split-a-string-in-c) – mostruash 2014-09-10 22:16:56
答案:http:// stackoverflow.com/questions/236129/how-to-split-a-string-in-c – Protopopulus 2014-09-10 22:18:46
有什么办法来调整我已经有的代码吗? – Eric 2014-09-10 22:24:35