C++ 接受字符串中的空字符空间

C++ 接受字符串中的空字符空间,c++,C++,我正在尝试让字符串接受字符空间。但是,当您键入以下内容时: 迈克·史密斯 输出仅为 迈克 有没有简单的方法来解决这个问题? 我可以做一些类似于: 字符串播放器名称(50)播放器名称; cout使用以下命令读取整行输入: getline(cin, playerName); 使用: 但是请记住,在使用上一行之后获取任何其他数据类型之前,必须使用下一行 cin.ignore(); 如果我想显示两个玩家的名字呢?它只是忘记了第一个吗?有没有其他方法不必使用getline?我可以指定字符串的长度吗?只

我正在尝试让字符串接受字符空间。但是,当您键入以下内容时:

迈克·史密斯

输出仅为

迈克

有没有简单的方法来解决这个问题? 我可以做一些类似于:

字符串播放器名称(50)播放器名称;
cout使用以下命令读取整行输入:

getline(cin, playerName);
使用:

但是请记住,在使用上一行之后获取任何其他数据类型之前,必须使用下一行

cin.ignore();

如果我想显示两个玩家的名字呢?它只是忘记了第一个吗?有没有其他方法不必使用getline?我可以指定字符串的长度吗?只需使用for循环将
cout
cin
包装起来即可。您可以使用
scanf
c
中执行此操作,但是我不知道在
c++
中是否存在同样的情况。@如果某人的名字包含3个单词,而下一个人的名字包含1个单词,会发生什么情况?您如何判断哪个属于哪个播放器?因此,在其位置使用getline(cin,playerName)而不是:cin>>playerName?可能是
getline(cin, playerName);
cin.ignore();