私は可変パラメータを受け付けるロギング関数を持っています。これは、アンドロイドロギングとprintfのためにうまく動作しますが、私はstd :: coutとファイルストリームで同じことをしたいです。これを簡単に解決できる方法はありますか?C++可変長関数とcout
void LogManagerImpl::LogInfo(const char* msg, ...)
{
va_list argptr;
va_start(argptr, msg);
/* Log to stdout */
if (mLogToStdOut)
{
#ifdef ANDROID
__android_log_vprint(ANDROID_LOG_INFO, __ENGINE_LOG_TAG, msg, argptr);
#elif defined _WIN32 || _WIN64
//printf ("%s:%s",__ENGINE_LOG_TAG,"INFO:"); vprintf(msg, argptr); printf("\n");
// how do I do the same as above except with for example std::cout?
#endif
}
/* Log to file */
if (mLogToFile)
{
// TODO
}
va_end(argptr);
}
Variadric parameters? –