Удаление каталогов и всех субзадатов в немC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Удаление каталогов и всех субзадатов в нем

Сообщение Anonymous »

Я написал функцию, которая должна удалить каталог и все файлы и папки в нем, но у нее есть некоторые проблемы.
Для моих целей я сделал специальный каталог для экспериментов. В этом каталоге хранится несколько файлов и одну папку. И эта папка (подлигация) также содержит 1 или 2 файла. Моя функция успешно удаляет подканализацию и все файлы в ней. И все файлы в основном каталоге также успешно удаляются. Но когда функция начинает удалять основной каталог - она не удается. Похоже, что rmdir не возвращает не 0, и я не знаю, почему, потому что подкатания хорошо удаляется.
в качестве аргумента он принимает строку, подобную «d: \ new».void OperationsWithDirectories::RemovingCycle(string _path)
{
string wayToFile; // string to hold the path to the directory without mask
string deletedFile; // string which would hold the way to deleting file
wayToFile = _path;

_path += "*.*"; // add a mask to the _path string

_finddata_t* fileinfo = new _finddata_t;

long done = _findfirst(_path.c_str(), fileinfo);

int IsContinue = done;

while (IsContinue != -1)
{
deletedFile = wayToFile + fileinfo->name;

if (fileinfo->attrib == _A_SUBDIR)
{
if (strcmp(fileinfo->name, ".") != 0 && strcmp(fileinfo->name, "..") != 0)
{
cout name + "\\"); //recursive func which would start, if subdirectory is exist
cout

Подробнее здесь: https://stackoverflow.com/questions/353 ... ries-in-it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»