Функция вывода на консоль/в файл с++?
Как еще один вариант - можно просто перенаправить вывод в файл.#include <iostream>
int main()
{
    std::out<< "Hello world!" << std::endl;
}
Вызов приложения с выводом в консоль:
Test.exe 
Вызов приложения с выводом в файл:
Test.exe>Log.txt
ostream *out=NULL;
bool needToDelete = false;

if( 1 )
  out = &std::cout;
else
{
   out = new ofstream(*fileName);
   needToDelete = true;
}

*out << "msg";

...

if( needToDelete )
    delete out;
Но перенаправить вывод будет более красивым решением.