Witam!
Tworzę sobie program, który wykonuje różne operacje z plikami i folderami. Napisałem funkcje, która miała usuwać puste foldery. Problem polega na tym, że gdy jest taka sytuacja, że tworzę folder o nazwie np: folder1 i w tym folderze tworzę kolejny folder np: folder2 i gdy chcę usunąć folder2, a następnie chcę usunąć folder1 to mimo że funkcja usuwająca ten folder pokazuje, że został on usunięty, to tak naprawdę ten folder nadal jest, mimo że chciałem go usunąć, a nie został usunięty. Dodatkowo, gdy chcę normalnie wejść w ten folder to pokazuje się ten komunikat:
I to jest dziwne, że usunąłem ten folder, ale mimo to nadal on jest i jeszcze jest niedostępny. Używałem różnych funkcji do usuwania folderów (np: RemoveDirectoryA , rmdir , filesystem::remove) i wynik był dokładnie taki sam. Program tworzę w Visual Studio 2017.
CreateDirectoryA("folder1", 0); // tworzymy pierwszy folder
CreateDirectoryA("folder1/folder2", 0); // w nim tworzymy kolejny folder
RemoveDirectoryA("folder1/folder2"); // nastepnie usuwamy podfolder i wszystko jest okej
RemoveDirectoryA("folder1"); // probujemy usunac ten folder ale nadal on jest , funkcja zwrocila wartosc informujaca o usunieciu mimo ze nie zostal folder usuniety
getchar();
exit(0); // gdy program zostaje zamknięty , folder zostaje dopiero usunięty , ale w trakcie wykonywania programu folder ten nadal jest
Zauważyłem też, że folder ten faktycznie zostaje usunięty, ale dopiero gdy program zostanie zamknięty.
W takim razie prosiłbym, aby ktoś powiedział mi jak z ten problem rozwiązać. Chciałbym, aby program usunął ten folder (folder1) w trakcie wykonywania programu, a nie jak do tej pory, gdy program został zamknięty.
Z góry dziękuje za pomoc!!!