Est-il possible de changer de répertoire à l'aide du langage C?
Est-il un moyen par lequel je peux changer à n'importe quel répertoire par l'exécution d'un programme C?
Vous êtes à la recherche pour
Ça s'appelle un marteau! 😛
Cette question est souvent donné comme un exercice pour les élèves de pise os unix-like. Si c'est le cas, faites très attention à ce que Pierre dit à propos de processus peut et ne peut pas être affectée.
cd
? Ou vous cherchez un moyen de créer un annuaire active directory en C?Ça s'appelle un marteau! 😛
Cette question est souvent donné comme un exercice pour les élèves de pise os unix-like. Si c'est le cas, faites très attention à ce que Pierre dit à propos de processus peut et ne peut pas être affectée.
OriginalL'auteur Biswajyoti Das | 2009-08-18
Vous devez vous connecter pour publier un commentaire.
En fonction de votre OS, il existe différents appels pour changer le répertoire courant. Ces normalement uniquement de changer le répertoire courant du processus de l'exécution de l'exécutable. Après le processus s'arrête, vous allez être dans le répertoire que vous avez commencé.
Le répertoire courant est la partie de l'état d'un processus (comme ouvrir des fichiers, cartes mémoire, la variable d'environnement...). Généralement, un processus ne peut pas changer l'état d'un autre processus (généralement, débogueur et ainsi de suite, peuvent avoir des privilèges spéciaux, mais c'est une autre histoire).
Et c'est pourquoi " cd " est une commande interne du shell, pas un exécutable séparé.
OriginalL'auteur Peter van der Heijden
La
chdir()
fonction. Pour plus d'informations, utilisezman chdir
.OriginalL'auteur Michael Foukarakis
chdir()
modifie seulement le répertoire de travail courant du processus, mais pas le contexte dans lequel vous travaillez. Supposons que vous exécutez un programme dans le terminal et votre répertoire courant est/home/Documents
, puis sur l'exécution d'un programme, d'avoir les lignes suivantesne va pas changer le répertoire de travail du terminal, mais les modifications que du processus.
OriginalL'auteur Santak Dalai
Bien, la commande POSIX pour changer le répertoire courant est:
Voir le récente POSIX documentation de
chdir()
est ici.OriginalL'auteur Dmitry Brant
Oui, le chdir() fonction.
OriginalL'auteur Jesper
Comme par cette
OriginalL'auteur Kevin Boyd