chdir
peut être utilisé pour les chemins de caractères constants (il faut const char *
), mais pas pour les chemins entrés par l'utilisateur (car ils ont le type char *
). Y at-il un moyen de contourner cela?Comment changer le répertoire de travail en C?
Répondre
chdir
peut être utilisé avec chaîne arbitraire. const
modificateur signifie qu'il ne modifiera pas votre chaîne.
Pour développer sur Roman Cheplyaka's answer, qualificateurs de type peut toujours être ajouté aux types de pointeur, mais pas supprimé. Cela signifie qu'une fonction qui prend un paramètre const char *
indique vraiment qu'il peut prendre un char *
ou un un const char *
(ce qui signifie en fait qu'il est prometteur de ne pas modifier le contenu de la chaîne).
De même, une fonction qui a un paramètre volatile char *
peut prendre soit un char *
ou un volatile char *
comme argument réel, et une fonction qui prend un paramètre const volatile char *
peut prendre l'une quelconque des char *
, const char *
, volatile char *
ou const volatile char *
.
- 1. Changer le répertoire de travail en fichier actuellement ouvert
- 2. Http authentification changer répertoire de travail
- 3. SQL Plus: comment changer de répertoire et afficher le répertoire de travail actuel
- 4. Spécifier le répertoire de travail pour popen
- 5. Modifier le répertoire de travail dans Xcode
- 6. Comment changer le répertoire de travail pour construire/déboguer dans Emacs?
- 7. Comment définir le répertoire de travail/en cours dans Vim?
- 8. changer le répertoire git en le précédant
- 9. Comment puis-je changer le répertoire de travail pour les tests NUnit dans Team City?
- 10. Utilisez le registre pour démarrer un programme, et aussi changer le répertoire de travail actuel?
- 11. Web2Py Répertoire de travail
- 12. C# Obtenir le répertoire de travail d'un autre processus
- 13. Comment changer le répertoire personnel de hudson?
- 14. Comment puis-je changer pour un autre répertoire en C++?
- 15. Vim: Changer le répertoire de démarrage?
- 16. Comment changer le message de travail dans Emacs?
- 17. Comment changer de répertoire en ligne de commande avec Clojure?
- 18. Ocaml: Définir le répertoire de travail actuel?
- 19. supprimer le répertoire en C++
- 20. Obtenir le répertoire de travail sur OpenFileDialog
- 21. Changer le répertoire dans le répertoire d'un script Python
- 22. Comment obtenir le répertoire de travail actuel dans IronRuby?
- 23. Pydev dans le répertoire de travail par défaut d'Eclipse
- 24. vimrc - répertoire de travail actuel
- 25. Comment obtenir/définir le répertoire de travail d'une application winforms?
- 26. F # interactive: comment afficher/modifier le répertoire de travail actuel
- 27. NSIS Uninstaller Répertoire de travail
- 28. C# Comment trouver le répertoire/répertoire virtuel WCF IIS au moment de l'exécution pour changer le nom du fichier journal?
- 29. Comment transformer le répertoire de travail en un nom de fichier court 8.3 en utilisant batch?
- 30. Comment trouver le répertoire de travail qui fonctionne entre différents ordinateurs. - C
Quel est le problème avec chdir()? Il peut certainement être utilisé avec les chemins fournis par l'utilisateur ... L'avez-vous essayé? Avez-vous échoué? Comment? Publiez du code ... – Juliano
Suite à la réponse de Roman: en général, un qualificatif 'const' sur un paramètre de fonction signifie que la fonction ne tentera pas de modifier ce que vous passez, donc * peut * être une constante de chaîne, pas qu'elle * A * être une constante. Dans 'T const *' (quel que soit le type T), 'const' signifie fondamentalement" lecture seule ". –