Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RemoveDirectory - а как удалить не пустую директор, извините, что ещё раз обращ. внимание... 
:(
    Опции темы
Petr
Дата 29.4.2002, 16:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Известно, что RemoveDirectory() удаляет пустую Дир-ию   - а как
тогда удалить не пустую директорию( с поддиректориями и файлами) ?

( Нужно сделать , чтобы утром очищался вчерашний рабочий каталог,
- не знаю , к сожалению как сделать...)
  Вверх
AlexS
Дата 29.4.2002, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 27.3.2002

Репутация: нет
Всего: нет



Грохни все внутренности да и всё!!!
PM MAIL   Вверх
Люда
Дата 29.4.2002, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 24.4.2002

Репутация: нет
Всего: нет



Можно сделать так:
HANDLE hFile;
char path[512]="d:\\test";
char file[512];
char spec[512];

WIN32_FIND_DATA data;

memset(file,'\0',sizeof(file));
memset(spec,'\0',sizeof(spec));
strcpy(spec,path);
strcat(spec,"\\*.*");
if((hFile=FindFirstFile(spec,&data))!=INVALID_HANDLE_VALUE )
{
strcpy(file,path);

strcat(file,"\\");
strcat(file,data.cFileName);
DeleteFile(file);
while((FindNextFile(hFile,&data))!=0)
 {
memset(file,'\0',sizeof(d));
strcpy(file,path);
strcat(file,"\\");
strcat(file,data.cFileName);
DeleteFile(file);
 }
}
FindClose(hFile);
RemoveDirectory(path);

А чтобы не париться со всякими текстовыми преобразованиями можно просто поставить SetCurrentDirectory("d:\\test), только перед удалением директории на до изменить текущую директорию на другую
PM MAIL ICQ   Вверх
Vit
Дата 29.4.2002, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Я плохо разбираюсь в С коде(прошу не ругаться если мое замечание не по делу) - но это работать, по-моему, будет плохо, так как если есть вложенные директории то работать не будет. Нужен рекурсивный проход всего дерева. В разделе Дельфи я приводил код:

http://www.forum.vingrad.ru/cgi-bin....2;t=652

Судя по всему приведенный Людой код необходимо только слегка дополнить выделив в функцию и сделав ее рекурсивный вызов из самой себя если находится вложенный подкаталог.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Klin
  Дата 20.12.2002, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Люда, можно проще.
Код
SHFILEOPSTRUCT sh;

sh.hwnd=Form1->Handle;
sh.wFunc = FO_DELETE;
sh.pFrom = "c:\\test\0";
sh.pTo = "NULL";
sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;
sh.hNameMappings = 0;
sh.lpszProgressTitle = NULL;

SHFileOperation (&sh);
ForceDirectories("C:\\Test");

Вот и всё! :D


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
DrMasik
Дата 21.12.2002, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 13.12.2002

Репутация: нет
Всего: нет



Аосмотри внимательно в MSDN, есть там такое, если мне память не изменяет...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.