Pb code c pour la commande chmod

Fermé
hey - 8 avril 2010 à 16:22
tatou_38 Messages postés 1928 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 5 août 2015 - 8 avril 2010 à 16:53


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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
8 avril 2010 à 16:47
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 1928 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 5 août 2015 121
8 avril 2010 à 16:53
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