Pb code c pour la commande chmod
hey
-
tatou_38 Messages postés 1220 Date d'inscription Statut Membre Dernière intervention -
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
-
hello
convertir argv[2] en int, peut-être
if(strcmp(argv[1],"chmod")==0)Changer_permissions(atoi(argv[2]),argv[3]); -
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 !