Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
куда выделяется память? 14.02.03 23:04
Автор: vh <Дмитрий> Статус: Member
|
задача состоит в следующем...
осуществляется поиск файлов в заданной директории
посредство finffirst(next)file
она, как известно заполняет следующую струтурку:
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[ MAX_PATH ];
TCHAR cAlternateFileName[ 14 ];
}
соответственно получается буфер целиком состоящий из множества таких структурок
задача: скопировать этот буфер, и так чтобы он был целиком независим (т.е. при удалении первоначального со 2-ым ничего не происходило)
внимание, вопрос: а куда выделяется память для имен файла?
и когда эта память освобождается и все такое.
т.е нужно ли копировать только указатели или целиком буферы?
вопрос, надеюсь, ясен.
спасибо.
|
 |
Там не указатели, а сами строоки 15.02.03 06:03
Автор: Zef <Alloo Zef> Статус: Elderman
|
|
так, что malloс(n * sizeof(WIN32_FIND_DATA )), где n - количество структур и копируй туда n * sizeof(WIN32_FIND_DATA ) байт из старого массива.
|
 |  |
стормозил. спасибо! 15.02.03 13:13
Автор: vh <Дмитрий> Статус: Member
|
|
|
|
|