Я написал функцию, которая должна удалить каталог и все файлы и папки в нем, но у нее есть некоторые проблемы.
Для моих целей я сделал специальный каталог для экспериментов. В этом каталоге хранится несколько файлов и одну папку. И эта папка (подлигация) также содержит 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
Удаление каталогов и всех субзадатов в нем ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1755107418
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
Подробнее здесь: [url]https://stackoverflow.com/questions/35319412/removing-directories-and-all-sub-directories-in-it[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия