Dans le code ci-dessous, fputs (...) émet une affirmation sous Windows Server 2008. Je n'ai pas ce problème sur un ordinateur Vista ou XP. Je ne sais pas ce qui le cause?C++ fputs Affirmer sur Windows 2008 Server
assert est: stream = NULL
Il semble être aléatoire aussi, comme parfois il semble réussir ... que les fichiers journaux sont créées!.
Quelqu'un peut-il aider?
void DLog::Log(const char *fmt, ...)
{
va_list varptr;
va_start(varptr, fmt);
int n = ::_vscprintf(fmt, varptr);
char *buf = new char[n + 1];
::vsprintf(buf, fmt, varptr);
va_end(varptr);
if (!m_filename.empty())
{
FILE *f = fopen(m_filename.c_str(), "at");
if (f != NULL)
{
fputs(buf, f);
fputs("\n", f);
fclose(f);
}
else
::MessageBox(0,"Error at fputs in Log","Error",0);
}
delete [] buf;
}
J'aime votre idée, je vais y jeter un coup d'oeil! –