【问题标题】:Accept Empty Character Space in String接受字符串中的空字符空间
【发布时间】:2015-11-23 00:00:39
【问题描述】:

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

迈克·史密斯

输出只有

迈克

有没有简单的方法来解决这个问题? 我可以这样做吗:

string playerName (50)

我的代码如下:

int main() {
string playerName;
cout << "Enter Player Name: ";
    cin >> playerName;

cout << playerName << endl;
}

【问题讨论】:

标签: c++


【解决方案1】:

使用以下命令读取整行输入:

getline(cin, playerName);

【讨论】:

  • 所以代替:cin >> playerName 使用 getline(cin, playerName) 代替它?
【解决方案2】:

用途:

getline(cin, playerName);

但请记住,在使用上述行之后,您必须先使用以下行,然后才能获取任何其他数据类型。

cin.ignore();

【讨论】:

  • 如果我想显示 2 个玩家的名字怎么办?它只是忘记了第一个吗?
  • 有没有不用getline的方法?我可以只指定字符串的长度吗?
  • 用 for 循环包裹你的 coutcin
  • 你可以在cscanf 做,但我不知道c++ 是否存在相同的。
  • @MoreOutdoors 如果某人的名字包含 3 个单词而下一个人的名字包含 1 个单词会怎样?你怎么知道哪个属于哪个玩家?
猜你喜欢
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-09
  • 1970-01-01
相关资源
最近更新 更多