Я программирую новую сервер-клиентскую сеть для игры Crysis Wars. У меня есть функция, которая центрирует строку на количество символов, поддерживаемых per-line в окне консоли. Окно соответствует 113 символам, но я установил максимальную ширину символа в моей функции на 111
, чтобы хорошо подобрать текст.Неожиданные символы в консольном выводе
Это моя функция:
string Main::CenterText(string s)
{
return string((111 - s.length())/2, ' ') + s;
}
Эта функция от question I asked last year, но я тем не менее я не уверен, закончился ли я до его использования или нет в прошлых проектах.
Я пытаюсь использовать эту функцию в этом контексте (функция 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());
:
Почему я получаю этот выход и как я могу это исправить?
Что такое вывод, если вы выполняете 'CryLogAlways (CenterText (« X »). C_str());'? – deW1
@ deW1 http://puu.sh/cZEG8/7921d3bc39.png. Это странная проблема, я поставил вопрос. – cybermonkey
Что вы подразумеваете под «Я, однако, не уверен, закончил ли я его использование или нет»? Вы уверены, что функция Main :: CenterText, которую вы показали, является фактической, которую вы используете? –