Comment faire pour créer un répertoire en C ++

Si vous voulez créer un répertoire, vous pouvez appeler le mkdir fonction. Si la fonction peut créer le répertoire pour vous, il renvoie un 0. Sinon, elle renvoie une valeur non nulle. (Lorsque vous exécutez vous obtenez un -1, mais votre meilleur pari - toujours - est de le tester contre 0.)

Voici quelques exemples de code (qui se trouve dans le MakeDirectory exemple) qui utilise cette fonction:




#comprendre #include #include using namespace std-int main () {if (mkdir ("abc ../")! = 0) {cout lt; lt; "Je suis tellement désolé. Je ne suis pas" lt; lt; endl-cout lt; lt; "mesure de créer votre répertoire" lt; lt; endl-cout lt; lt; "que vous avez demandé de moi. Je fais espérer" lt; lt; endl-cout lt; lt; "vous êtes toujours en mesure d'atteindre" lt; lt; endl-cout lt; lt; "vos objectifs dans la vie. Maintenant, disparaissent." lt; lt; endl-} return 0-}

Avis (comme d'habitude) que vous avez utilisé une barre oblique (/) dans l'appel à mkdir. Dans Windows, vous pouvez utiliser une barre oblique ou une barre oblique inverse. Mais si vous utilisez une barre oblique inverse, vous devez utiliser deux d'entre eux (comme vous le feriez normalement pour obtenir une barre oblique inverse dans la chaîne d'un C).

Pour des raisons de portabilité, utilisez toujours une barre oblique. Après avoir exécuté cet exemple, vous devriez voir un nouveau répertoire nommé alphabet ajouter à la / CPP_AIO / BookV / Chapter04 répertoire de votre système.

Ce serait bien de créer une structure répertoire-arbre entier d'un seul coup - faire un appel comme mkdir ("/ ABC / DEF / ghi / jkl") sans avoir l'une des alphabet, def, ou ghi répertoires déjà existants. Mais hélas, vous ne pouvez pas. La fonction ne créera pas un JKL à moins que le répertoire / ABC / DEF / ghi répertoire existe. Cela signifie que vous devez casser cet appel dans les appels multiples: d'abord créer / abc. Ensuite, créez /a B c d e F, et ainsi de suite.

Si vous ne voulez faire tous les répertoires à la fois, vous pouvez utiliser la system () fonction. Si vous exécutez système ("mkdir abc def ghi jkl") -, vous serez en mesure de faire le répertoire d'un seul coup.


» » » » Comment faire pour créer un répertoire en C ++