Dynamische Daten, Pointer
-
Ein bischen Code:
WIN32_FIND_DATA wfd; // ... // ... // wfd wird gefüllt // ... // ... WIN32_FIND_DATA *pTemp = new WIN32_FIND_DATA; //WIN32_FIND_DATA für FileInfos if((pTemp != NULL) && (wfdListe.addBegin() == true)) //Genug platz im RAM?? { // jetzt alle Daten einzel kopieren strcpy(pTemp->cAlternateFileName,wfd.cAlternateFileName); strcpy(pTemp->cFileName,wfd.cFileName); pTemp->dwFileAttributes = wfd.dwFileAttributes; pTemp->dwReserved0 = wfd.dwReserved0; pTemp->dwReserved1 = wfd.dwReserved1; pTemp->ftCreationTime = wfd.ftCreationTime; pTemp->ftLastAccessTime = wfd.ftLastAccessTime; pTemp->ftLastWriteTime = wfd.ftLastWriteTime; pTemp->nFileSizeHigh = wfd.nFileSizeHigh; pTemp->nFileSizeLow = wfd.nFileSizeLow; wfdListe.getAnker()->pData = pTemp; // Mit der Liste verknüpfen }Dieser Code habe ich in einer Schleife. Der Inhalt von wfd ändertsich bei jedem Durchlauf,d.h.
pTemp = &wfd;geht nicht, da ich jeweils eine Kopie davon benötige.
Gibt es eine elegantere Methode für das kopieren?
Gruss Thomas
-
Man definiert sich häufig in den Klassen eine Clone-Funktion, die nichts anderes tut als eine Kopie des Objekts anzulesen inklusive dessen Inhalts...