本文整理汇总了C++中CChars::Init方法的典型用法代码示例。如果您正苦于以下问题:C++ CChars::Init方法的具体用法?C++ CChars::Init怎么用?C++ CChars::Init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CChars
的用法示例。
在下文中一共展示了CChars::Init方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ValidateDistToRoot
void CBaseObject::ValidateDistToRoot(void)
{
CChars sz;
CBaseObject* pcContainer;
if (!((miDistToRoot >= ROOT_DIST_TO_ROOT) || (miDistToRoot == UNATTACHED_DIST_TO_ROOT)))
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should not have a dist to root of [", IntToString(miDistToRoot), "].", NULL);
sz.Kill();
}
if (IsEmbedded())
{
pcContainer = GetEmbeddingContainer();
if (pcContainer->GetDistToRoot() != GetDistToRoot())
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should have a dist to root [", IntToString(miDistToRoot), "] the same as it's embedding object [", IntToString(pcContainer->GetDistToRoot()),"].", NULL);
sz.Kill();
}
}
}
示例2: DumpAddDetail
void CUnknowns::DumpAddDetail(CUnknown* pcUnknown)
{
SMemoryAllocation* psAlloc;
CChars sz;
psAlloc = MEMORY_GET_ALLOCATION(pcUnknown);
if (!IsFreed(pcUnknown))
{
sz.Init("Size: ");
sz.Append(psAlloc->uiSize);
sz.AppendNewLine();
sz.Append("AllocCount: ");
sz.Append(psAlloc->uiAllocCount);
sz.AppendNewLine();
sz.Append("DebugName: ");
sz.Append(psAlloc->szDebug, 4);
sz.AppendNewLine();
sz.Dump();
sz.Kill();
}
else
{
sz.Init("Freed CUnknown.\n");
sz.Append("AllocCount: ");
sz.Append(psAlloc->uiAllocCount);
sz.AppendNewLine();
sz.Dump();
sz.Kill();
}
}
示例3: ValidateIndex
void CBaseObject::ValidateIndex(void)
{
CChars sz;
if (IsEmbedded())
{
if (moi != INVALID_O_INDEX)
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should have an Index [", IndexToString(moi), "] of INVALID_O_INDEX [", IndexToString(INVALID_O_INDEX),"].", NULL);
sz.Kill();
}
}
else
{
if (moi == INVALID_O_INDEX)
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should not have an Index of INVALID_O_INDEX [", IndexToString(INVALID_O_INDEX),"].", NULL);
sz.Kill();
}
}
}
示例4: Begin
BOOL CObjectWriterChunked::Begin(void)
{
CDiskFile* pcDiskFile;
CFileUtil cFileUtil;
CChars szFullDirectory;
CChars szFileName;
CObjectWriter::Begin();
szFullDirectory.Init(mszDirectory);
cFileUtil.AppendToPath(&szFullDirectory, mszObjectBaseName.Text());
cFileUtil.MakeDir(szFullDirectory.Text());
szFileName.Init(szFullDirectory);
szFullDirectory.Kill();
cFileUtil.AppendToPath(&szFileName, mszFileName.Text());
szFileName.Append(".");
szFileName.Append(OBJECT_FILE_EXTENSION);
pcDiskFile = DiskFile(szFileName.Text());
szFileName.Kill();
mcChunkFile.Init(pcDiskFile);
return mcChunkFile.WriteOpen(CHUNKED_OBJECT_FILE);
}
示例5: DumpFroms
void CBaseObject::DumpFroms(void)
{
CChars sz;
int i;
int iNumEmbedded;
CEmbeddedObject* pcEmbedded;
int j;
int iNumHeapFroms;
CBaseObject* pcFromObject;
int iLength;
CChars szLine;
sz.Init();
sz.Append("-- ");
PrintObject(&sz);
sz.Append(" --\n");
iLength = sz.Length()-1;
szLine.Init('-', iLength);
szLine.AppendNewLine();
sz.Insert(0, &szLine);
sz.Append("Total Heap Froms [");
sz.Append(NumHeapFroms());
sz.Append("], ");
sz.Append("Stack Froms [");
sz.Append(NumStackFroms());
sz.Append("]\n");
iNumEmbedded = GetNumEmbedded();
for (i = 0; i < iNumEmbedded; i++)
{
pcEmbedded = GetEmbeddedObject(i);
iNumHeapFroms = pcEmbedded->CEmbeddedObject::NumHeapFroms();
sz.Append("Embedded ");
sz.Append(i);
sz.Append(" Heap Froms [");
sz.Append(iNumHeapFroms);
sz.Append("], ");
sz.Append("Stack Froms [");
sz.Append(pcEmbedded->CEmbeddedObject::NumStackFroms());
sz.Append("]\n");
for (j = 0; j < iNumHeapFroms; j++)
{
pcFromObject = pcEmbedded->GetHeapFrom(j);
sz.Append(" ");
pcFromObject->PrintObject(&sz);
sz.AppendNewLine();
}
}
sz.Append(&szLine);
szLine.Kill();
sz.Dump();
sz.Kill();
}
示例6: ValidateFrom
void CEmbeddedObject::ValidateFrom(CBaseObject* pcBaseObject)
{
CChars szObject;
CChars szFromObject;
int iThisDistToRoot;
int iOtherDistToRoot;
BOOL bFromPointsTo;
iThisDistToRoot = GetDistToRoot();
iOtherDistToRoot = pcBaseObject->GetDistToRoot();
if ((iThisDistToRoot >= ROOT_DIST_TO_ROOT && iOtherDistToRoot >= ROOT_DIST_TO_ROOT) && (iOtherDistToRoot < iThisDistToRoot - 1))
{
szObject.Init();
PrintObject(&szObject, IsEmbedded());
szFromObject.Init();
pcBaseObject->PrintObject(&szFromObject, pcBaseObject->IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", szObject.Text(), "} pointed to from object {", szFromObject.Text(), "} cannot have a DistToRoot that is different by more than 1.", NULL);
szFromObject.Kill();
szObject.Kill();
}
bFromPointsTo = pcBaseObject->ContainsPointerTo(this);
if (!bFromPointsTo)
{
szObject.Init();
PrintObject(&szObject, IsEmbedded());
szFromObject.Init();
pcBaseObject->PrintObject(&szFromObject, pcBaseObject->IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", szObject.Text(), "} pointed to from object {", szFromObject.Text(), "} does not have a from pointing to.", NULL);
szFromObject.Kill();
szObject.Kill();
}
}
示例7: CreateDefaultVirtualDeviceFromThis
CInputVirtualDevice* CInputDevice::CreateDefaultVirtualDeviceFromThis(char* szName)
{
CInputVirtualDevice* pcVirtual;
SSetIterator sIter;
CInputSourceDesc* pcSource;
CInputDevices* pcInputDevices;
CChars szTemp;
pcInputDevices = GetInputDevices();
if (szName)
{
szTemp.Init(szName);
}
else
{
szTemp.Init(mszFriendlyName.Text());
szTemp.Append(" Default");
}
pcVirtual = pcInputDevices->CreateVirtualDevice(szTemp.Text());
szTemp.Kill();
pcSource = mpcDesc->StartInputsIteration(&sIter);
while (pcSource)
{
pcVirtual->AddSource(this, pcSource);
pcSource = mpcDesc->IterateInputs(&sIter);
}
pcVirtual->DoneAddingSources();
pcInputDevices->UpdateCommonality();
return pcVirtual;
}
示例8: ValidateObjectsThisIn
void CBaseObject::ValidateObjectsThisIn(void)
{
CChars sz;
if (IsEmbedded())
{
if (mpcObjectsThisIn != NULL)
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should not have ObjectsThisIn [", PointerToString(mpcObjectsThisIn), "] set.", NULL);
sz.Kill();
}
}
else
{
if (mpcObjectsThisIn == NULL)
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should have ObjectsThisIn [NULL] set.", NULL);
sz.Kill();
}
}
}
示例9: ValidateCanFindRoot
void CBaseObject::ValidateCanFindRoot(void)
{
ValidateNotEmbedded(__METHOD__);
CChars sz;
BOOL bCanFindRoot;
if (miDistToRoot > ROOT_DIST_TO_ROOT)
{
bCanFindRoot = CanFindRoot();
if (!bCanFindRoot)
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} has a positive dist to root and should be able to find the Root object.", NULL);
sz.Kill();
}
}
else if (miDistToRoot == ROOT_DIST_TO_ROOT)
{
if (!IsRoot())
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} has a dist to root [0] but is not the Root object.", NULL);
sz.Kill();
}
}
else if (miDistToRoot == UNATTACHED_DIST_TO_ROOT)
{
bCanFindRoot = CanFindRoot();
if (bCanFindRoot)
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} has an [UNATTACHED_DIST_TO_ROOT] dist to root should not be able to find the Root object.", NULL);
sz.Kill();
}
}
else if (miDistToRoot == CLEARED_DIST_TO_ROOT)
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should not have dist to root [CLEARED_DIST_TO_ROOT].", NULL);
sz.Kill();
}
else
{
sz.Init();
PrintObject(&sz, IsEmbedded());
gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should not have dist to root [", IntToString(miDistToRoot), "].", NULL);
sz.Kill();
}
}
示例10: TestFileUtilNaming
void TestFileUtilNaming(void)
{
CFileUtil cFileUtil;
CChars sz;
CChars szExpected;
sz.Init();
cFileUtil.FullPath(&sz);
sz.LowerCase();
szExpected.Init("C:\\GameEngine\\Test\\TestBaseLib\\TestBaseLib");
szExpected.LowerCase();
AssertString(szExpected.Text(), sz.Text());
szExpected.Kill();
sz.Kill();
sz.Init("c:\\Documents and Settings\\Joe\\..\\..\\");
cFileUtil.CollapsePath(&sz);
AssertStringCase("C:\\", sz.Text(), FALSE);
sz.Kill();
sz.Init("\\Documents\\and\\Settings\\..\\..\\Joe");
cFileUtil.CollapsePath(&sz);
AssertString("\\Documents\\Joe", sz.Text());
sz.Kill();
sz.Init("\\Documents\\and\\Settings\\..\\..\\Joe\\");
cFileUtil.CollapsePath(&sz);
AssertString("\\Documents\\Joe", sz.Text());
sz.Kill();
sz.Init(".\\.\\.\\.");
cFileUtil.CollapsePath(&sz);
AssertString("", sz.Text());
sz.Kill();
sz.Init(".\\.\\.\\");
cFileUtil.CollapsePath(&sz);
AssertString("", sz.Text());
sz.Kill();
sz.Init("c:\\..");
cFileUtil.CollapsePath(&sz);
AssertString("c:", sz.Text());
sz.Kill();
sz.Init("c:\\..\\..");
cFileUtil.CollapsePath(&sz);
AssertString("c:", sz.Text());
sz.Kill();
sz.Init("\\..\\..");
cFileUtil.CollapsePath(&sz);
AssertString("", sz.Text());
sz.Kill();
}
示例11: TestObjectsFlushNoClear
void TestObjectsFlushNoClear(void)
{
CFileUtil cFileUtil;
BOOL bResult;
cFileUtil.RemoveDir("Output");
cFileUtil.MakeDir("Output/Flush1");
ObjectsInit("Output/Flush1");
SetupObjectsForDehollowfication();
AssertLongLongInt(0, gcObjects.NumDatabaseObjects());
AssertLongLongInt(0, gcObjects.NumDatabaseNames());
AssertLongLongInt(9, gcObjects.NumMemoryIndexes());
AssertLongLongInt(6, gcObjects.NumMemoryNames());
bResult = gcObjects.Flush(FALSE, FALSE);
AssertTrue(bResult);
AssertLongLongInt(9, gcObjects.NumDatabaseObjects());
AssertLongLongInt(6, gcObjects.NumDatabaseNames());
AssertLongLongInt(9, gcObjects.NumMemoryIndexes());
AssertLongLongInt(6, gcObjects.NumMemoryNames());
ObjectsKill();
CArrayChars aszFileNames;
int i;
CChars* psz;
CChars szOutput;
CChars szFileName;
aszFileNames.Init();
cFileUtil.FindAllFiles("Input/Dehollowfication", &aszFileNames, FALSE, FALSE);
for (i = 0; i < aszFileNames.NumElements(); i++)
{
psz = aszFileNames.Get(i);
szFileName.Init(psz->Text());
cFileUtil.RemovePath(&szFileName);
szOutput.Init();
cFileUtil.CurrentDirectory(&szOutput);
cFileUtil.AppendToPath(&szOutput, "Output/Flush1");
cFileUtil.AppendToPath(&szOutput, szFileName.Text());
AssertFile(psz->Text(), szOutput.Text());
szOutput.Kill();
szFileName.Kill();
}
aszFileNames.Kill();
}
示例12: DumpNames
void CObjects::DumpNames(void)
{
CChars sz;
sz.Init("-------------------------- Names -------------------------- \n");
sz.Dump();
sz.Kill();
// mcMemory.GetNames()->DumpTree();
sz.Init();
sz.Append("------------------------------------------------------------ \n");
sz.Dump();
sz.Kill();
}
示例13: TestReadExternalReference
void TestReadExternalReference(void)
{
CXMLFile cXMLFile;
CChars szDoc;
int iLine;
char szExpected[] = "<InputDevices>\n\
This is text < and doom stuff\n\
<RootInSecond>\n\
Hello\n\
</RootInSecond>\n\
Sweet > other stuff\n\
<ThirdsRoot>\n\
World\n\
</ThirdsRoot>\n\
</InputDevices>\n";
CMarkupTag* pcTag;
CMarkupTag* pcSecondTag;
CMarkupTag* pcThirdTag;
CChars szText;
cXMLFile.Init();
cXMLFile.Read("First.xml", ".");
szDoc.Init(16);
iLine = cXMLFile.mcMarkup.mpcDoc->ToString(&szDoc);
AssertInt(10, iLine);
AssertString(szExpected, szDoc.Text());
szDoc.Kill();
pcTag = cXMLFile.mcMarkup.mpcDoc->GetRootTag();
pcSecondTag = pcTag->GetTag("RootInSecond");
AssertNotNull(pcSecondTag);
szText.Init();
pcSecondTag->GetText(&szText);
szText.StripWhiteSpace(TRUE);
AssertString("Hello", szText.Text());
szText.Kill();
pcTag = cXMLFile.mcMarkup.mpcDoc->GetRootTag();
pcThirdTag = pcTag->GetTag("ThirdsRoot");
AssertNotNull(pcThirdTag);
szText.Init();
pcThirdTag->GetText(&szText);
szText.StripWhiteSpace(TRUE);
AssertString("World", szText.Text());
szText.Kill();
cXMLFile.Kill();
}
示例14: RemoveDir
BOOL CFileUtil::RemoveDir(const char*szPathName)
{
WIN32_FIND_DATA sFindData;
CChars szFindName;
CChars szTemp;
HANDLE hFindHandle;
BOOL bContinue;
BOOL bValid;
CChars szDirectory;
BOOL bDeleted;
szDirectory.Init(szPathName);
RemoveFileSeparator(&szDirectory);
szFindName.Init(szPathName);
AppendToPath(&szFindName, "*.*");
hFindHandle = FindFirstFile(szFindName.Text(), &sFindData);
bContinue = (hFindHandle != INVALID_HANDLE_VALUE);
bDeleted = TRUE;
while (bContinue)
{
bValid = TRUE;
if (sFindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (!((strcmp(sFindData.cFileName, ".") == 0) || (strcmp(sFindData.cFileName, "..") == 0)))
{
szTemp.Init(szDirectory);
AppendToPath(&szTemp, sFindData.cFileName);
RemoveDir(szTemp.Text());
szTemp.Kill();
}
}
else
{
szTemp.Init(szPathName);
AppendToPath(&szTemp, sFindData.cFileName);
bDeleted &= DeleteFile(szTemp.Text());
szTemp.Kill();
}
bContinue = FindNextFile(hFindHandle, &sFindData);
}
FindClose(hFindHandle);
RemoveDirectory(szDirectory.Text());
szDirectory.Kill();
szFindName.Kill();
return bDeleted;
}
示例15: QuoteTokens
//////////////////////////////////////////////////////////////////////////
// //
// //
//////////////////////////////////////////////////////////////////////////
CPPToken* CPreprocessor::QuoteTokens(CPPTokenHolder* pcDest, CPPAbstractHolder* pcHolder)
{
int j;
BOOL bQuoteNextReplacement;
CChars szQuoted;
char* szInStrings;
CPPText* pcQuoted;
CPPToken* pcToken;
szQuoted.Init(100);
szQuoted.Append('"');
for (j = 0; j < pcHolder->mcTokens.mcArray.NumElements(); j++)
{
pcToken = *(pcHolder->mcTokens.mcArray.Get(j));
pcToken->Append(&szQuoted);
}
szQuoted.Append('"');
bQuoteNextReplacement = FALSE;
szInStrings = (char*)gcTokenStrings.Add(szQuoted.Length()+1);
memcpy(szInStrings, szQuoted.Text(), szQuoted.Length()+1);
pcQuoted = CPPText::Construct(mpcStack->Add(sizeof(CPPText)));
pcQuoted->Init(PPT_DoubleQuoted, -1, -1, szInStrings, szInStrings+szQuoted.Length());
pcDest->Add((CPPToken**)&pcQuoted);
szQuoted.Kill();
return pcQuoted;
}