• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tworzenie wszystkich folderów w ścieżce.

0 głosów
853 wizyt
pytanie zadane 4 lutego 2018 w C i C++ przez jveaster Początkujący (440 p.)
Mam pewne durne pytanie. Jak stworzyć scieżkę do katalogu, np. %APPDATA%\\1\\2\\1\\3\\8\\1? Zawsze byłem pewien że jak stworzę plik przez fstream do nieistniejącego katalogu to fstream stworzy katalog, a tu okazuje się że jednak tak nie jest...

2 odpowiedzi

+1 głos
odpowiedź 4 lutego 2018 przez niezalogowany
Stworzy nieistniejący plik, a nie katalog ;)

Patrz: http://en.cppreference.com/w/cpp/experimental/fs/create_directory
komentarz 5 lutego 2018 przez jveaster Początkujący (440 p.)

Moje środowisko przekonuje mnie że nie ma funkcji std::experimental::filesystem::create_directory() (tak samo jak z SHCreateDirectoryEx)... Następną aplikację będę pisał w czymś innym, ale tą już muszę w tym skończyć, sama końcówka. Jest jakaś inna funkcja?

+1 głos
odpowiedź 4 lutego 2018 przez j23 Mędrzec (195,220 p.)

ExpandEnvironmentStrings() i SHCreateDirectoryEx().

 

komentarz 5 lutego 2018 przez j23 Mędrzec (195,220 p.)

Te same problemy miałbyś w innych środowiskach. Problem z C++ Builderem jest między innymi taki, że ludzie używają starych kilkunastoletnich wersji tego środowiska, które nie wspierają nowych standardów C++.

 

Wracając do tematu: musisz dodać bibliotekę shell32.lib do projektu. Nie pamiętam, gdzie w opcjach projektu dodaje się biblioteki, ale wiem, że w BCB można było dodawać biblioteki z poziomu kodu. Daj w którymś pliku .cpp:


#pragma link "shell32.lib"
komentarz 5 lutego 2018 przez jveaster Początkujący (440 p.)
edycja 5 lutego 2018 przez jveaster
Dodałem już, ta opcja jest w zakładce project. Nic to nie dało oczywiście.
komentarz 5 lutego 2018 przez j23 Mędrzec (195,220 p.)

No to nie wiem. Według dokumentacji ta funkcja jest dostępna od WinXP, zatem przy założeniu, że korzystasz z C++ Buildera 6, wszystko powinno się kompilować/konsolidować bez problemu. Zawsze możesz sobie napisać funkcję, która "tworzy" ścieżkę wykorzystując do tego CreateDirectory().

 

 

komentarz 5 lutego 2018 przez jveaster Początkujący (440 p.)
Mam C++ Builder 9, wydawało się lepsze. Dzięki za pomoc, spróbuję.
1
komentarz 5 lutego 2018 przez j23 Mędrzec (195,220 p.)
Pewnie lepsze od szóstki, ale i tak nie wspiera standardu C++11/C++14, czyli jest to środowisko z poprzedniej epoki.

Podobne pytania

0 głosów
1 odpowiedź 604 wizyt
0 głosów
1 odpowiedź 964 wizyt
0 głosów
2 odpowiedzi 1,067 wizyt
pytanie zadane 7 czerwca 2017 w C i C++ przez teusiek Początkujący (280 p.)

93,740 zapytań

142,675 odpowiedzi

323,294 komentarzy

63,319 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...