我正在为 Crysis Wars 游戏编写一个新的服务器客户端网络。我有一个函数可以将字符串集中到控制台窗口中每行支持的字符数。该窗口可容纳 113 个字符,但我已将函数中的最大字符宽度设置111
为很好地适合文本。
这是我的功能:
string Main::CenterText(string s)
{
return string((111 - s.length()) / 2, ' ') + s;
}
这个功能来自我去年提出的一个问题,但是我不确定我是否在过去的项目中最终使用了它。
我正在尝试在这种情况下使用此函数(该CryLogAlways
函数只是将字符串记录到游戏/服务器日志文件并打印出来):
CryLogAlways(CenterText(" ____ ____ _ __ _ _ __").c_str());
CryLogAlways(CenterText(" / _/__ / _(_)__ (_) /___ _( )| |/_/").c_str());
CryLogAlways(CenterText(" _/ // _ \\/ _/ / _ \\/ / __/ // //_> < ").c_str());
CryLogAlways(CenterText("/___/_//_/_//_/_//_/_/\\__/\\_, / /_/|_| ").c_str());
CryLogAlways(CenterText(" /___/ ").c_str());
但是输出是:
同样正如@deW1 所要求的,我有一个类似的输出CryLogAlways(CenterText("X").c_str());
:
为什么我会得到这个输出,我该如何解决这个问题?