假设我正在创建一个游戏,当按下ENTER时,可以显示文本并滚动/好。 使用输出流类并将“raw”std :: string发送给它是一个好主意吗?我正在考虑这样做,所以使用花哨的显示风格将消息发送到控制台或实际屏幕会更容易
谢谢
答案 0 :(得分:2)
没有什么可以阻止你创建自己的流缓冲类,然后可以转发到std::cout
或者在以后的某个时间做一些更具异国情调的东西。
我建议在这里阅读这篇文章http://spec.winprog.org/streams/关于iostreams并使用提供给你的东西滚动自己。阅读本文以了解正在发生的事情。
Boost IO流库使您可以更轻松地创建自己的流:
http://www.boost.org/doc/libs/1_43_0/libs/iostreams/doc/index.html
答案 1 :(得分:1)
如果“raw”字符串由可打印文本组成,则使用std::string
将std::cout
转储到operator<<
进行打印没有任何问题,例如:
// Display prompt to user
std::string output("Please press <ENTER>: ");
std::cout << output << std::flush;
// Wait for user to press <Enter>
std::string input;
std::getline(std::cin, input);