Riješeno: mkdir

Pravljenje direktorija u C++ je više od trivijalnog zadatka. On ulazi u zamršene funkcije unutar računskih struktura i predstavlja imperativnu funkciju manipulacije sistemom datoteka. Rad sa direktorijumima – kreiranje, brisanje ili čitanje – je suštinski deo programiranja na nivou OS. Razumijevanje 'mkdir', kako on funkcionira i njegovih sitnih detalja pokazalo se korisnim za svakog pojedinca koji se bavi programiranjem na C++.

C++ nema izvornu podršku za kreiranje direktorija, tako da bismo morali koristiti funkcionalnost specifičnu za platformu. Uobičajeni način da se to učini je korištenje funkcije mkdir koju obezbjeđuje POSIX standard, koji je uglavnom dostupan na sistemima sličnim UNIX-u.

#include // POSIX
#include // POSIX
int main ()
{
if(mkdir(“novi_direktorij”, 0777) == -1)
{
perror(“nije moguće kreirati direktorij”);
povratak 1;
}
povratak 0;
}

Detaljno istražujemo funkciju `mkdir`

The mkdir funkcija deklarirana u datotekama zaglavlja sys/stat.h i sys/types.h je ono što smo koristili. Njegova svrha je kreiranje novog direktorija s imenom 'new_directory'. Ako funkcija naiđe na bilo kakav problem tokom procesa kreiranja, vraća -1.

U našem kodu, ako mkdir vrati -1, ispisujemo odgovarajuću poruku o grešci koristeći perror funkciju. Broj 0777 proslijeđen u mkdir je dozvola pristupa koju želimo postaviti za novi direktorij. To znači da svako može čitati, pisati i izvršavati datoteke u direktoriju koji kreiramo.

Uloga biblioteka u funkciji mkdir

The sys/stat.h i sys/types.h datoteke zaglavlja obezbeđuju razne simboličke konstante i tipove, i funkcije za manipulisanje sistemom datoteka. Uključivanje ovih u naš kod omogućava upotrebu nekoliko specifičnih konstanti i funkcija u našim mkdir operacijama.

Za kreiranje direktorija unutar C++-a, bitno je napomenuti da ne postoji ugrađena funkcionalnost za to. Stoga je pravilno korištenje biblioteka ključno za postizanje željenog rezultata. U nekim slučajevima, programeri se mogu odlučiti da koriste boost::filesystem biblioteku, koja pruža prenosive funkcije za rukovanje stazama, datotekama i direktorijumima.

Alternative Solutions

Osim POSIX-a, možete koristiti i izvorne API pozive, koji se razlikuju u zavisnosti od osnovnog operativnog sistema.

Jedna takva alternativa može biti funkcija 'CreateDirectory' u Windows API-ju:

#include
int main ()
{
if(!CreateDirectory(“novi_direktorij”, NULL))
{
povratak 1;
}
povratak 0;
}

Takve biblioteke ili API-ji pružaju potrebne funkcije za izvođenje složenih radnji, premošćujući jaz u kojem izvorne mogućnosti C++ u početku nisu dovoljne. Dakle, svaka biblioteka ili API ima svoju jedinstvenost i pruža različite uglove za rješavanje rukovanja direktorijumom u C++.

Slični postovi:

Ostavite komentar