Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Treue Seele
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
DString::~DString() { //Freigeben if(m_pcString) { delete[] m_pcString; m_iNumChars = 0; m_pcString = NULL; } } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
DString& operator = (const char* &pcStr) { int iNC = GetNumChars(pcStr); if(CheckMem(iNC)) { Log.WriteToLog("DString::operator = Fehler beim ReAlloc von Speicher!"); return *this; } //memcpy(m_pcString, pcStr, iNC*sizeof(char)); strcpy(m_pcString, pcStr); m_iNumChars = iNC; return *this; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
struct sEntry { DString str; int iZahl; }; tbList<sEntry> m_EntryList; //Neuen Eintrag erstellen sEntry* pNewEntry = new sEntry; [Edit] pNewEntry->str = strTemp->GetString(); [/Edit] m_EntryList.AddEntry(pNewEntry); m_pAktuellEntry = m_EntryList.GetLastEntry(); delete pNewEntry; |
C-/C++-Quelltext |
|
1 |
pNewEntry->strName = strTemp->GetString(); |
Treue Seele
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
DString::DString(int iNumChars) { //initen if(AllocMem(iNumChars)) Log.WriteToLog("DString::DString(int iNumChars) Es konnte kein Speicher reserviert werden!"); } //------------------------------------------------------------------------------------- DString::DString() { if(AllocMem(2)) Log.WriteToLog("DString::DString() Es konnte kein Speicher reserviert werden!"); } //----------------------------------------------------------------------------------------------- DString::DString(char* pcString) { if(AllocMem(GetNumChars(pcString))) { Log.WriteToLog("DString::DString(char* pcString) Es konnte kein Speicher reserviert werden!"); return; } strcpy(m_pcString, pcString); } //-------------------------------------------------------------------------------------------------- DString::DString(DFile* pOpenFile) { //Pointer prüfen if(!pOpenFile) return; //Ist die Datei offen? if(!pOpenFile->isOpen()) return; int iTemp = 0; //Größe einlesen if(pOpenFile->read(&iTemp, sizeof(int))) return; AllocMem(iTemp); //Zeichen einlesen if(pOpenFile->read(m_pcString, sizeof(char)*iTemp)) return; } |
C-/C++-Quelltext |
|
1 2 |
//Liefert einen Char Zeiger auf den String char* GetString() {return m_pcString;} |
Treue Seele
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
UDReturn DProfiler::Start(char* pcString) { UDReturn result; DString* ptemp = new DString(pcString); result = Start(ptemp); // delete ptemp; return result; } //Nutzung UDReturn DProfiler::Start(DString* pstrKlassName) { // return UD_OK; Log.WriteToLog("DProfiler::Start"); //Stop aufrufen um eventuell laufende Messungen zu beenden Stop(); Log.WriteToLog("Nach Stop"); if(!GetEntry(pstrKlassName)) { //Neuen Eintrag erstellen sEntry* pNewEntry = new sEntry; pNewEntry->strName = pstrKlassName->GetString(); m_EntryList.AddEntry(pNewEntry); m_pAktuellEntry = m_EntryList.GetLastEntry(); UD_SAVE_DELETE(pNewEntry); // delete pNewEntry; Log.WriteToLog("Neuer Eintrag erstellt!"); } QueryPerformanceCounter((LARGE_INTEGER*)&m_llStartCount); m_llStart = m_llStartCount; Log.WriteToLog("Start End!"); return UD_OK; } |
Treue Seele
Treue Seele
C-/C++-Quelltext |
|
1 |
delete[] m_pcString;
|
Treue Seele
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//Init bool DString::AllocMem(int iNumChars) { //Speicher reservieren m_pcString = new char[GetNextPotenz(iNumChars)]; // m_iNumChars = GetNextPotenz(iNumChars); m_iNumChars = iNumChars; //Speicher nullen memset(m_pcString, (int)'\0', GetMemSize()); if(NULL == m_pcString) return true; return false; } //******************** |
Werbeanzeige