CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [C] probleme changement de répertoire avec chdir().

DébutPage précedente
1
Page suivantePage suivante
SimoneWeiI SimoneWeiI
MP
Niveau 8
13 janvier 2017 à 20:13:22

Bonjour,
J'essaie de coder un shell. J'ai donc fait une fonction qui me permet de changer de répertoire :

void cd (char repertoire[]){
  int longueur, i, j;
  char chemin[100];
  longueur = strlen(repertoire);

  for (i=3,j=0 ; i<longueur ; i++,j++){
     chemin[j] = repertoire[i];
    }
  chdir(chemin);
}

Tout aller bien jusqu'au moment où j'ai essayer d'ajouter un historique des commandes.
J'ai utiliser le code que j'ai trouvé ici : https://en.wikipedia.org/wiki/Readline
Le problème c'est qu'avec la fonction readline, pour que je puisse changer de répertoire, je ne peux pas utiliser ma fonction et doit utiliser son code dans ma fonction principale. J'aimerais savoir pourquoi ca me fait ceci et comment modifier ma fonction pour qu'elle fonctionne à nouveau ?

SimoneWeiI SimoneWeiI
MP
Niveau 8
13 janvier 2017 à 21:27:12

Ok, ca devient vraiment incomprehensible pour moi. J'ai deux code source quasi identitque. Dans l'un je peux me déplacer dans mes répertoires en mettant mon code dans le main mais pas en appelant ma fonction cd(). Dans l'autre ca ne fonctionne pas quoi que je fasse.
Pourtant dans tout les cas chdir() s'execute correctement avec un chemin valable. https://image.noelshack.com/fichiers/2016/38/1474797359-risitas770.gif

No759 No759
MP
Niveau 3
15 janvier 2017 à 05:31:46

Pourquoi dans la fonction que tu donnes tu copies repertoire dans chemin puis tu utilises chemin?

EncephaleHalal EncephaleHalal
MP
Niveau 5
15 janvier 2017 à 08:08:36

bien le minishell ? ça avance ?

SimoneWeiI SimoneWeiI
MP
Niveau 8
15 janvier 2017 à 09:14:32

Le 15 janvier 2017 à 05:31:46 No759 a écrit :
Pourquoi dans la fonction que tu donnes tu copies repertoire dans chemin puis tu utilises chemin?

Pou virer le "cd ".

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment