使用输出流来显示“游戏中”文本是一个好主意吗?

时间:2011-10-31 19:52:00

标签: c++ iostream outputstream

假设我正在创建一个游戏,当按下ENTER时,可以显示文本并滚动/好。 使用输出流类并将“raw”std :: string发送给它是一个好主意吗?我正在考虑这样做,所以使用花哨的显示风格将消息发送到控制台或实际屏幕会更容易

谢谢

2 个答案:

答案 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::stringstd::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);