相当于 c 中的 Console.ReadLine()

新手上路,请多包涵

截屏我的老师刚刚给了我一个 c++ 作业,我试图用 scanf 获取一个字符串,但它只输入最后一个字符。任何人都可以帮助我吗?我正在寻找与 c++ 中的 console.readline() 等效的东西。

编辑:我还必须能够通过指针存储值。

所以图片显示了当前在后台运行的代码,它应该在没有保证的情况下停止:并等待输入,但它跳过了它。

getline(cin, ptrav->nam);有效,但由于某种原因它跳过了一行……

原文由 ESD 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 514
1 个回答

您正在寻找 std::getline() 。例如:

 #include <string>
std::string str;
std::getline(std::cin, str);

当您说 我还必须能够通过指针存储值 时,我几乎不知道您的意思。

更新: 查看您更新的问题,我可以想象发生了什么。读取选项的代码,即数字 1、2 等,没有读取换行符。然后你调用 getline 消耗换行符。然后你再次调用 getline 来获取字符串。

原文由 David Heffernan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题