Pb code c pour la commande chmod

hey -  
tatou_38 Messages postés 1937 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
A voir également:

2 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
convertir argv[2] en int, peut-être
if(strcmp(argv[1],"chmod")==0)Changer_permissions(atoi(argv[2]),argv[3]);
0
tatou_38 Messages postés 1937 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