Pb code c pour la commande chmod

hey -  
tatou_38 Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   -


Bonjour jai un ptit pb sur lexecution de mon programme, jessaye de refaire le chmod

void Changer_permissions(int valeur,char* name)

{

int resultat;

// Changer les permissions

resultat = chmod (name,valeur);

if(resultat==0) printf("Les permissions de %s ont ete modifiees !\n",name);

else printf("Echec du changement de permissions de %s\n",name);

}

int main(int argc,char* argv[])
{
// ./monfichier chmod VALEUR FICHIER

if(strcmp(argv[1],"chmod")==0)Changer_permissions(*(argv[2]),argv[3]);
}

quand je l'execute du genre ./monfichier chmod 700 [fichier]

sa change bien les permissions mais c'est du grand nimporte quoi alor j'ai surement du oublier qq chose ou quoi je sais pas!!

merci

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    convertir argv[2] en int, peut-être
    if(strcmp(argv[1],"chmod")==0)Changer_permissions(atoi(argv[2]),argv[3]);
    0
  2. tatou_38 Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   121
     
    Quand tu fais chmod 700, 700 n'est pas le nombre 700, mais un codage des permissions sur trois caractères hexadécimaux.

    Je subodore qu'il faille convertir ton 700 en hexadécimal, tout simplement !
    0