我一直在进行一场纸牌游戏,在经常不停地洗牌之后我做了一个程序,理论上为我做了这个。我意识到已有程序可以这样做,但那里的乐趣在哪里?在导致问题的问题上。每当我输入一个带有两个或更多单词名称的卡片时,它会切断所有单词,但第一个单词。我知道这会发生,但我不知道如何正常修复它。更别说如何存储" 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;
}
答案 0 :(得分:2)
而不是
cin >> example;
使用
std::getline(std::cin, example);
cin >> example;
会在找到空格时停止阅读。 std::getline
会一直读取,直到找到指定的分隔符(默认情况下为'\n'
)。