本文整理汇总了C++中StdStrBuf::GetWideChar方法的典型用法代码示例。如果您正苦于以下问题:C++ StdStrBuf::GetWideChar方法的具体用法?C++ StdStrBuf::GetWideChar怎么用?C++ StdStrBuf::GetWideChar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StdStrBuf
的用法示例。
在下文中一共展示了StdStrBuf::GetWideChar方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LogSilent
bool LogSilent(const char *szMessage, bool fConsole)
{
if (!Application.AssertMainThread()) return false;
// security
if (!szMessage) return false;
// add timestamp
time_t timenow; time(&timenow);
StdStrBuf TimeMessage;
TimeMessage.SetLength(11 + SLen(szMessage) + 1);
strftime(TimeMessage.getMData(), 11 + 1, "[%H:%M:%S] ", localtime(&timenow));
// output until all data is written
const char *pSrc = szMessage;
do
{
// timestamp will always be that length
char *pDest = TimeMessage.getMData() + 11;
// copy rest of message, skip tags
C4Markup Markup(false);
while (*pSrc)
{
Markup.SkipTags(&pSrc);
// break on crlf
while (*pSrc == '\r') pSrc++;
if (*pSrc == '\n') { pSrc++; break; }
// copy otherwise
if (*pSrc) *pDest++ = *pSrc++;
}
*pDest++='\n'; *pDest = '\0';
// Save into log file
if (C4LogFile)
{
fputs(TimeMessage.getData(),C4LogFile);
fflush(C4LogFile);
}
// Save into record log file, if available
if(Control.GetRecord())
{
Control.GetRecord()->GetLogFile()->Write(TimeMessage.getData(), TimeMessage.getLength());
#ifdef IMMEDIATEREC
Control.GetRecord()->GetLogFile()->Flush();
#endif
}
// Write to console
if (fConsole)
{
#if defined(_WIN32)
// debug: output to VC console
OutputDebugString(TimeMessage.GetWideChar());
#endif
#if !defined(_WIN32) || defined(USE_CONSOLE)
fputs(TimeMessage.getData(),stdout);
fflush(stdout);
#endif
}
}
while (*pSrc);
return true;
}