Выровнять текст по центру в строке C ++
Я пытался создать в C ++ функцию для DLL игрового сервера, которая выравнивает заданный текст по центру, а затем возвращает новую строку в Lua для обработки. Я потратил довольно много времени на просмотр примеров на разных сайтах, но смог найти только «cout», который печатает его в консольном приложении, чего я не хочу.
Я новичок в C ++, и я действительно не понимаю, как к этому подойти. Если кто-то сможет привести пример и объяснить, как он работает, я смогу узнать, как это сделать в будущем.
В основном это делает это:
Перешлите нашу строку из Lua в C ++.C ++ центрирует строку, которую мы только что передали.Верните завершенную строку обратно в Lua.Вот пример того, что я пытался сделать:
int CScriptBind_GameRules::CentreTextForConsole(IFunctionHandler *pH, const char *input)
{
if (input)
{
int l=strlen(input);
int pos=(int)((113-l)/2);
for(int i=0;i<pos;i++)
std::cout<<" ";
std::cout<<input;
return pH->EndFunction(input);
}
else
{
CryLog("[System] Error in CScriptBind_GameRules::CentreTextForConsole: Failed to align");
return pH->EndFunction();
}
return pH->EndFunction();
}
Который строит, но выводит текст на консоль, не пересылая обратно завершенную строку.