Video: Writing 2D Games in C using SDL by Thomas Lively 2025
Hvis du vil oprette en mappe, kan du ringe til mkdir funktion. Hvis funktionen kan oprette mappen for dig, returnerer den en 0. Ellers returnerer den en nonzero-værdi. (Når du kører det får du en -1, men din bedste indsats - altid - er at teste den mod 0.)
Her er nogle eksempler på kode (fundet i MakeDirectory-eksempelet), der bruger denne funktion:
#include #include # include using namespace std; int main () {if (mkdir ("… / abc")! = 0) {cout << "Jeg er så ked af det. Jeg var ikke" << endl; cout << "i stand til at oprette din mappe" << endl; cout << "som du bad om mig. Jeg håber" << endl; cout << "du er stadig i stand til at opnå" << endl; cout << "dine mål i livet. Gå nu væk." << endl;} returner 0;}
Bemærkning (som sædvanlig), at du brugte et fremad skråstreg (/) i opkaldet til mkdir. I Windows kan du bruge enten et skråstreg eller en tilbageslag. Men hvis du bruger en backslash, skal du bruge to af dem (som du normalt ville få en tilbageslag i en C ++-streng).
Af hensyn til bærbarhed skal du altid bruge en skråstreg. Når du har kørt dette eksempel, skal du se en ny mappe, der hedder abc, der er tilføjet til / CPP_AIO / BookV / Chapter04-mappen på dit system.
Det ville være rart at oprette en hel mappe-træstruktur i et falsk sving - foretage et opkald som mkdir ("/ abc / def / ghi / jkl") uden at have nogen af abc, def eller ghi-mapper allerede eksisterende. Men desværre kan du ikke. Funktionen opretter ikke en jkl-mappe, medmindre mappen / abc / def / ghi eksisterer. Det betyder, at du skal bryde dette opkald i flere opkald: Opret først / abc. Opret derefter / abc / def, og så videre.
Hvis du vil lave alle mapper på én gang, kan du bruge funktionen system (). Hvis du udfører system ("mkdir abc def ghi jkl");, vil du være i stand til at lave mappen i et fald.