本文整理汇总了C++中VString::AppendLong方法的典型用法代码示例。如果您正苦于以下问题:C++ VString::AppendLong方法的具体用法?C++ VString::AppendLong怎么用?C++ VString::AppendLong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VString
的用法示例。
在下文中一共展示了VString::AppendLong方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DumpStats
void VProfilingCounter::DumpStats()
{
VString string;
string = GetCounterName();
string += " : \r\n";
string.AppendLong(fNbVal);
string += " value\r\n";
DebugMsg(string);
string = "last value : ";
string.AppendReal(GetDuration());
string += "\r\n";
DebugMsg(string);
string = "min : ";
string.AppendReal(fMin);
string += "\r\n";
DebugMsg(string);
string = "max : ";
string.AppendReal(fMax);
string += "\r\n";
DebugMsg(string);
string = "average : ";
string.AppendReal(fTotal/fNbVal);
string += "\r\n";
DebugMsg(string);
}
示例2: Put
void VSysLogOutput::Put( std::vector< const XBOX::VValueBag* >& inValuesVector)
{
for (std::vector< const XBOX::VValueBag* >::iterator bagIter = inValuesVector.begin() ; bagIter != inValuesVector.end() ; ++bagIter)
{
EMessageLevel bagLevel = ILoggerBagKeys::level.Get( *bagIter);
if ((fFilter & (1 << bagLevel)) != 0)
{
VString logMsg;
VError errorCode = VE_OK;
ILoggerBagKeys::error_code.Get( *bagIter, errorCode);
VString loggerID;
ILoggerBagKeys::source.Get( *bagIter, loggerID);
OsType componentSignature = 0;
if (!ILoggerBagKeys::component_signature.Get( *bagIter, componentSignature))
componentSignature = COMPONENT_FROM_VERROR( errorCode);
if (componentSignature != 0)
{
if (!loggerID.IsEmpty())
loggerID.AppendUniChar( L'.');
loggerID.AppendOsType( componentSignature);
}
if (!loggerID.IsEmpty())
logMsg.Printf( "[%S]", &loggerID);
// build message string
VString message;
if (errorCode != VE_OK)
message.AppendPrintf( "error %d", ERRCODE_FROM_VERROR( errorCode));
VString bagMsg;
if (ILoggerBagKeys::message.Get( *bagIter, bagMsg))
{
if (!message.IsEmpty())
message.AppendString( L", ");
message.AppendString( bagMsg);
}
sLONG taskId=-1;
if (ILoggerBagKeys::task_id.Get( *bagIter, taskId))
{
if (!message.IsEmpty())
message.AppendString( L", ");
message.AppendString( L"task #");
message.AppendLong( taskId);
}
VString taskName;
if (!ILoggerBagKeys::task_name.Get( *bagIter, taskName))
VTask::GetCurrent()->GetName( taskName);
if (!taskName.IsEmpty())
{
if (!message.IsEmpty())
message.AppendString( L", ");
message.AppendString( taskName);
}
sLONG socketDescriptor=-1;
if (ILoggerBagKeys::socket.Get( *bagIter, socketDescriptor))
{
if (!message.IsEmpty())
message.AppendString( L", ");
message.AppendString( L"socket ");
message.AppendLong(socketDescriptor);
}
VString localAddr;
if (ILoggerBagKeys::local_addr.Get( *bagIter, localAddr))
{
if (!message.IsEmpty())
message.AppendString( L", ");
message.AppendString( L"local addr is ");
message.AppendString( localAddr);
}
VString peerAddr;
if (ILoggerBagKeys::peer_addr.Get( *bagIter, peerAddr))
{
if (!message.IsEmpty())
message.AppendString( L", ");
message.AppendString( L"peer addr is ");
message.AppendString( peerAddr);
}
bool exchangeEndPointID=false;
if (ILoggerBagKeys::exchange_id.Get( *bagIter, exchangeEndPointID))
{
if (!message.IsEmpty())
message.AppendString( L", ");
message.AppendString( (exchangeEndPointID) ? L"exchange endpoint id" : L"do not exchange endpoint id");
}
bool isBlocking=false;
if (ILoggerBagKeys::is_blocking.Get( *bagIter, isBlocking))
{
//.........这里部分代码省略.........
示例3: logDocDump
static void _ExplainTTRFormat_V1()
{
VString doc;
char theTime[512] = {0};
time_t now = ::time( NULL);
::strftime( theTime, sizeof( theTime),"%Y-%m-%dT%H:%M:%S", localtime( &now));
doc = "Text (Tab-Tab-Return) format version ";
doc.AppendLong(kTTR_FORMAT_VERSION);
doc.AppendCString("\r\r");
// ===============================================
doc += "--------------------------------------------------\r";
doc += "General\r";
doc += "--------------------------------------------------\r";
doc.AppendPrintf("Every entry is quoted by square brackets. For example: [%d] for \"FlushFromLanguage\".\r", eCLEntryKind_FlushFromLanguage);
doc.AppendPrintf("First entry in the log is the \"start\" entry (%d), it gives the current date-time.\r", eCLEntryKind_Start);
doc += "Then, every other entry is followed by [tab] ellapsed second since log started [tab] Task ID {and optionnaly: [tab] other infos...}\r\r";
doc += "For example, when the log starts, first line is something like:\r";
doc.AppendPrintf("[%d]\t%s\t10\r", eCLEntryKind_Start, theTime);
doc += "Then you may have (FlushFromLanguage, executed 5 seconds since the log started, for task ID 10):\r";
doc.AppendPrintf("[%d]\t5\t10\r", eCLEntryKind_FlushFromLanguage);
doc += "\rEntries may be quoted with start/end. In this case, the format is [entry num]s and [entry num]e.";
doc += " Between both tags, several other entries may be logged, from the same task ID or from others.\r";
doc += "In all cases, the 'end' tag is formatted: [entry num]e [tab] ellapsed second since log started [tab] taskID [tab] count of milliseconds since [entry num]start\r";
doc += "For example, with the FlushFromLanguage kind launched from task ID 10, the log could be:\r";
doc.AppendPrintf("[%d]s\t123\t10\t(...other infos - see format)\r", eCLEntryKind_FlushFromLanguage);
doc += ". . .\r. . .\r. . .\r";
doc.AppendPrintf("[%d]s\t126\t10\t(...other infos - see format)\r", eCLEntryKind_FlushFromLanguage);
// ===============================================
doc += "--------------------------------------------------\r";
doc += "List of all kinds of entry (name [tab] value)\r";
doc += "--------------------------------------------------\r";
doc.AppendPrintf("Unknown\t%d\r", eCLEntryKind_Unknown);
doc.AppendPrintf("Start\t%d\r", eCLEntryKind_Start);
doc.AppendPrintf("Stop\t%d\r", eCLEntryKind_Stop);
doc.AppendPrintf("Comment\t%d\r", eCLEntryKind_Comment);
doc.AppendPrintf("NeedsBytes\t%d\r", eCLEntryKind_NeedsBytes);
doc.AppendPrintf("CallNeedsBytes\t%d\r", eCLEntryKind_CallNeedsBytes);
doc.AppendPrintf("FlushFromLanguage\t%d\r", eCLEntryKind_FlushFromLanguage);
doc.AppendPrintf("FlushFromMenuCommand\t%d\r", eCLEntryKind_FlushFromMenuCommand);
doc.AppendPrintf("FlushFromScheduler\t%d\r", eCLEntryKind_FlushFromScheduler);
doc.AppendPrintf("FlushFromBackup\t%d\r", eCLEntryKind_FlushFromBackup);
doc.AppendPrintf("FlushFromNeedsBytes\t%d\r", eCLEntryKind_FlushFromNeedsBytes);
doc.AppendPrintf("FlushFromRemote\t%d\r", eCLEntryKind_FlushFromRemote);
doc.AppendPrintf("FlushFromUnknown\t%d\r", eCLEntryKind_FlushFromUnknown);
doc.AppendPrintf("Flush\t%d\r", eCLEntryKind_Flush);
doc.AppendPrintf("MemStats\t%d\r", eCLEntryKind_MemStats);
doc.AppendCString("\r\r");
// ===============================================
doc += "--------------------------------------------------\r";
doc += "Format and meaning of each kind\r";
doc += "--------------------------------------------------\r";
doc.AppendPrintf("[%d]\r", eCLEntryKind_Unknown);
doc += "Unknown entry kind\r";
doc.AppendPrintf("[%d] [tab] ellapsed second since log started [tab] taskID\r\r", eCLEntryKind_Unknown);
doc.AppendPrintf("[%d]\r", eCLEntryKind_Start);
doc += "The log starts. Quoted (start/end) entry, with misc. infos between the start and the end.\r";
doc.AppendPrintf("[%d]s [tab] current time [tab] taskID [tab] version [cr]\r", eCLEntryKind_Start);
doc.AppendPrintf("struct [tab] path to host database structure file [cr]\r");
doc.AppendPrintf("data [tab] path to host database data file [cr]\r");
doc.AppendPrintf("[%d]e\r\r", eCLEntryKind_Start);
doc.AppendPrintf("[%d]\r", eCLEntryKind_Stop);
doc += "The log ends\r";
doc.AppendPrintf("[%d] [tab] ellapsed second since log started [tab] taskID\r\r", eCLEntryKind_Stop);
doc.AppendPrintf("[%d]\r", eCLEntryKind_Comment);
doc += "A comment added by the developer. Comments are always quoted with start and end, a \\r is added at beginning and end.\r";
doc.AppendPrintf("[%d]start [tab] ellapsed second since log started [tab] taskID [cr] the comment [cr] [%d]end [tab] time [tab] taskID [tab] 0 (the milliseconds)\r\r", eCLEntryKind_Comment);
doc.AppendPrintf("[%d]\r", eCLEntryKind_NeedsBytes);
doc += "Any source asks memory to the cache manager\r";
doc.AppendPrintf("[%d] [tab] ellapsed second since log started [tab] taskID [tab] task name [tab] process 4D num [tab] needed bytes (very large int.)\r", eCLEntryKind_NeedsBytes);
doc.AppendPrintf("Note: may be followed by [%d]\r\r", eCLEntryKind_MemStats);
doc.AppendPrintf("[%d]\r", eCLEntryKind_CallNeedsBytes);
doc += "Memory manager asks memory to the cache manager: not enough space in the cache to allocate memory. The cache manager will try to free unused objects, to flush, etc...\r";
doc.AppendPrintf("[%d] [tab] ellapsed second since log started [tab] taskID [tab] task name [tab] process 4D num [tab] needed bytes (very large int.)\r", eCLEntryKind_CallNeedsBytes);
doc.AppendPrintf("Note: may be followed by [%d]\r\r", eCLEntryKind_MemStats);
doc.AppendPrintf("[%d], [%d], [%d], [%d], [%d], [%d], [%d]\r", eCLEntryKind_FlushFromLanguage,
eCLEntryKind_FlushFromMenuCommand,
eCLEntryKind_FlushFromScheduler,
eCLEntryKind_FlushFromBackup,
eCLEntryKind_FlushFromNeedsBytes,
eCLEntryKind_FlushFromRemote,
eCLEntryKind_FlushFromUnknown);
doc += "Action at the origin of a flush. All the 'FlushFrom...' share the same format.\r";
doc.AppendPrintf("[%d] [tab] ellapsed second since log started [tab] taskID [tab] task name [tab] process 4D num [tab] isWaitUntilDone (1 = yes, 0 = no, -1 = unknown) [tab] isEmptyCache (1 = yes, 0 = no, -1 = unknown)\r", eCLEntryKind_CallNeedsBytes);
doc.AppendPrintf("Note: may be followed by [%d]\r", eCLEntryKind_MemStats);
doc.AppendPrintf("Note: [%d] means a flush was requested from the remote, but we don't have the exact origin (does a client called FLUSH BUFFERS explicitely? ...)\r\r", eCLEntryKind_FlushFromRemote);
//.........这里部分代码省略.........
示例4: FormatDate
//.........这里部分代码省略.........
if (token==oldToken)
count++;
else
{
if (!count)
{
count=1;
oldToken=token;
}
}
}
if (count && token!=oldToken)
{
switch(oldToken)
{
case 'g':
if (count==2)
{
// TODO: ERA will be added if really wanted.
}
else
{
for (int i=0;i<count;i++)
outDate.AppendUniChar(oldToken);
}
break;
case 'y': // YEAR
switch(count)
{
case 5:
case 4: // 4 or more digits date
outDate.AppendLong(YY);
break;
case 2: // 2 digits with starting 0.
if (YY2<=9)
outDate.AppendLong(0);
case 1: // 1 or 2 digits
outDate.AppendLong(YY2);
break;
default:
for (int i=0;i<count;i++)
outDate.AppendUniChar(oldToken);
break;
}
break;
case 'M': // MONTH
switch(count)
{
case 4: // Long name
case 3: // Abbreviated name
if (GetLocaleInfo( ((count==4) ? LOCALE_SMONTHNAME1 : LOCALE_SABBREVMONTHNAME1) + MM - 1, oneName))
outDate += oneName;
break;
case 2: // 2 digits number (leading 0)
if (MM<=9)
outDate.AppendLong(0);
case 1: // 1 or 2 digits number
outDate.AppendLong(MM);
break;