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

Otwieranie folderu Dokumenty

Object Storage Arubacloud
0 głosów
414 wizyt
pytanie zadane 26 maja 2019 w C i C++ przez MegaaSoft Obywatel (1,430 p.)
Witam.

Mam mały problem otóż programuję mały program w c++ ale potrzebuje dostęp do folderu "Dokumenty"

Ale nie mam pomysłu jak otworzyć ten folder. W senie po naciśnięciu powinien otworzyć się ten folder. Myślałem że np z powershella czy przez cmd ale blokuję mnie

Język system operacyjnego co za tym idzie to nazwa folderu dokumenty i nazwa użytkownika.

Mógł by ktoś napisać mi jakiś kod który otwiera ten folder? bardzo proszę. To nie musi być przez cmd czy powershella obojętnie przez co tylko aby działało. Mam nadzieje że wiecie o co  mi chodzi.
komentarz 26 maja 2019 przez Hiskiel Pasjonat (22,830 p.)
Co?
komentarz 26 maja 2019 przez MegaaSoft Obywatel (1,430 p.)
Chcę po prostu otworzyć folder "dokumenty" nie znając nazwy użytkownika
komentarz 26 maja 2019 przez MegaaSoft Obywatel (1,430 p.)
chodzi mi o ten już stworzony folder przez windows'a
komentarz 26 maja 2019 przez Hiskiel Pasjonat (22,830 p.)
Tzn chcesz dostać prawidłową ścieżkę do niego?
komentarz 26 maja 2019 przez MegaaSoft Obywatel (1,430 p.)
no tak.

Wiesz no język systemu tu jest ważny bo np po polsku ścieżka wygląda tak

C:/Użytkownicy/Nazw_użytkownika/Dokumenty

a po angielsku to tak

C:/Users/Nazw_użytkownika/Documents

i tu stoi na drodze ten język systemu :(
komentarz 26 maja 2019 przez Hiskiel Pasjonat (22,830 p.)
Nie. Wpisując to po angielsku będzie działać. Pobierz zmienną środowiskową %USERPROFILE% ona wskazuje tam gdzie chcesz.
komentarz 26 maja 2019 przez MegaaSoft Obywatel (1,430 p.)
sry ale jestem nowy w c++ byś mógł napisać po prostu kod który otwiera ten folder bardzo proszę :)

1 odpowiedź

0 głosów
odpowiedź 26 maja 2019 przez Hiskiel Pasjonat (22,830 p.)

Windows ma system zmiennych środowiskowych. Tu uniwersalne stringi którym przypisana jest jakaś wartość. Można się do nich odnieść praktycznie wszędzie. Więc jak wpiszesz w cmd "echo %zmienna%" to wypisze Ci ta zmienną. Zmienną set ustawiasz zmienną dla sesji, a setx globalnie.

W C++ do odczytywanie zmiennych środowiskowych służy funkcja z C - getenv z cstdlib.

Więc 

#include <iostream>
#include <cstdlib>

int main(){
    char* user_home = getenv("userprofile");
    
    if(!user_home){
        std:cerr<<"Something went wrong.";
        return 1;
    }

    std::cout<<user_home;

    return 0;
}

powinno Ci wypluć to co wypluje Ci "echo %userprofile%"

komentarz 27 maja 2019 przez MegaaSoft Obywatel (1,430 p.)

Wyskakuje mi błąd.

ii ([Environment]::GetFolderPath('MyDocuments\\Nazwa_folderu?>'))

komentarz 27 maja 2019 przez adrian17 Ekspert (344,860 p.)

do ścieżki wyciągniętej z GetFolderPath

Przeczytaj jeszcze raz, co robi `GetFolderPath`.

komentarz 27 maja 2019 przez MegaaSoft Obywatel (1,430 p.)
no ok ale jak. czekaj mógłbyś napisać tą komendę w powershellu i bym miał już spokój. proszę cie,

chce otworzyć folder w moje dokumenty
komentarz 27 maja 2019 przez adrian17 Ekspert (344,860 p.)

No, łącząc string wychodzący z GetFolderPath.

ii ([Environment]::GetFolderPath('MyDocuments') + "/notatki")

 

komentarz 27 maja 2019 przez MegaaSoft Obywatel (1,430 p.)
trochę za późno xd. Ale dziękuje :)

Podobne pytania

0 głosów
2 odpowiedzi 544 wizyt
0 głosów
4 odpowiedzi 2,415 wizyt
–2 głosów
1 odpowiedź 453 wizyt
pytanie zadane 22 sierpnia 2019 w C i C++ przez niezalogowany

92,550 zapytań

141,392 odpowiedzi

319,520 komentarzy

61,935 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...