C / Commande dos ne fonctionne pas

Résolu
Erik -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut !

J'ai un petit problème, pouquoi cette commande en language C ne s'exécute pas : system("cd..");

Je n'arrive pas a changer de repertoire avec aucunde des commandes CD =/

Merci de votre aide, bonne journée !
A voir également:

4 réponses

maxwellhouse Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   1
 
peux tu détaillé amplement ton probleme s'il te plait?
0
Erik
 
Simplement dans un code C, j'aimerai monter d'un repertoire a un moment et rien n'y fait, cette commande ne change pas mon répertoire courant, alors qu'en invite de commande elle fonctionne normalement .. très étrange lol
0
maxwellhouse Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   1
 
oui en effet tres etrange ^^^en as-tu reelement besoin ou est-ce une question de curiosité? =p
0
Erik
 
:p un peu des deux, j'avais envie de bidouillier un petit navigateur de dossiers en mode console (comme lynx par exemple)

N'y a t'il pas un autre moyen par hasard? ^^
0
maxwellhouse Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   1 > Erik
 
lol un vrai "touche a tout" =p
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
C'est normal, tu lances cette commande, donc tu montes tu te trouves dans le dossier parent et après ça se ferme donc rien n'est retenu en mémoire.
Mais faire du C pour utiliser la commande system, ce n'est pas top, autant faire du batch ;)
0
Erik
 
Non je ne monte pas de dossier, le programme est bien plus grand que ma pitite commande mais elle ne fonctionne pas quand je relance un CD appres je suis toujours dans le meme

Connais tu une autre alternative?

Merci de votre aide :)
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > Erik
 
Ce que je voulais dire c'est que system va créer une console en mémoire qui va exécuter cd .., et après ça va se fermer. Donc au final, c'est comme si tu n'as rien fait.
Tu veux absolument faire ce programme en C ? Dans d'autre langage comme python, ça serait beaucoup plus rapide.
Si tu veux le faire quand même en C, il faudra plutôt que tu t'abstiennes d'utiliser la fonction system.

Cdlt
0
Erik > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Oui car je ne connais "bien" (tout est relatif) que le language C

Il faudrait utiliser une bibliothèque externe?
0
loupius > Erik
 
Non la commande 'chdir suffira, son prototype est:
#include <unistd.h>
int chdir (const char* path);
Renvoie -1 en cas d'erreur.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > loupius
 
Non la commande 'chdir suffira, son prototype est:
Sauf que cette fonction n'est pas portable.
0
maxwellhouse Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   1
 
eh bien a toi de la retranscrire ...!
0