処理のために新しい文字列を Lua に返す前に、指定されたテキストを中央に揃えるゲームサーバー DLL 用の関数を C++ で作成しようとしています。さまざまなサイトの例を見てかなりの時間を費やしましたが、「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();
}
どちらがビルドされますが、完成した文字列を転送するのではなく、テキストをコンソールに出力します。