我的老师刚刚给了我一个 c++ 作业,我试图用 scanf 获取一个字符串,但它只输入最后一个字符。任何人都可以帮助我吗?我正在寻找与 c++ 中的 console.readline() 等效的东西。
编辑:我还必须能够通过指针存储值。
所以图片显示了当前在后台运行的代码,它应该在没有保证的情况下停止:并等待输入,但它跳过了它。
getline(cin, ptrav->nam);有效,但由于某种原因它跳过了一行……
原文由 ESD 发布,翻译遵循 CC BY-SA 4.0 许可协议
我的老师刚刚给了我一个 c++ 作业,我试图用 scanf 获取一个字符串,但它只输入最后一个字符。任何人都可以帮助我吗?我正在寻找与 c++ 中的 console.readline() 等效的东西。
编辑:我还必须能够通过指针存储值。
所以图片显示了当前在后台运行的代码,它应该在没有保证的情况下停止:并等待输入,但它跳过了它。
getline(cin, ptrav->nam);有效,但由于某种原因它跳过了一行……
原文由 ESD 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
1 回答2.7k 阅读✓ 已解决
您正在寻找
std::getline()
。例如:当您说 我还必须能够通过指针存储值 时,我几乎不知道您的意思。
更新: 查看您更新的问题,我可以想象发生了什么。读取选项的代码,即数字 1、2 等,没有读取换行符。然后你调用
getline
消耗换行符。然后你再次调用getline
来获取字符串。