Выровнять текст по центру в строке 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();
}

Который строит, но выводит текст на консоль, не пересылая обратно завершенную строку.

Ответы на вопрос(2)

Ваш ответ на вопрос