如何使字符串向量保留用户输入的空格?

时间:2015-04-06 01:50:49

标签: c++

如果以前曾经问过我,我会道歉,但我还没有真正看到这些出现在我的书或其他例子中。所以我走了。

我一直在进行一场纸牌游戏,在经常不停地洗牌之后我做了一个程序,理论上为我做了这个。我意识到已有程序可以这样做,但那里的乐趣在哪里?在导致问题的问题上。每当我输入一个带有两个或更多单词名称的卡片时,它会切断所有单词,但第一个单词。我知道这会发生,但我不知道如何正常修复它。更别说如何存储" A,C"在向量中并保留空格。

问题:如何存储字符串,如" A,C"在一个字符串中,并将其放在一个容器中,并能够用空格检索它?我在代码中做错了什么,还是我在棚子里使用了错误的工具?

#include <iostream>
#include <string>

using namespace std;

int main()
{
string example = " ";
cin >> example; //typed eggs and milk, only got eggs
cout << example << endl;

}

1 个答案:

答案 0 :(得分:2)

而不是

cin >> example;

使用

std::getline(std::cin, example);

cin >> example;会在找到空格时停止阅读。 std::getline会一直读取,直到找到指定的分隔符(默认情况下为'\n')。

More on std::getline