CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • 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 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Utilisation de chmod dans un program

ptibiscuit32
ptibiscuit32
Niveau 13
10 février 2014 à 20:39:31

Bonsoir, je travaille sous linux. :)

Et je dois coder un programme qui a les mêmes fonction que chmod(changer les permissions de fichiers).

L'utilisateur rentre en paramètre le mode(par exemple 777) et le nom du fichier ou le chemin.

J'utilise dans mon programme l'appel système(fonction): "int chmod(const char *pathname, mode_t mode);".

Voilà mon problème la fonction s'attend à recevoir un mode sous forme octal -> 0007, 0777, 0077 ou 7777. Mais l'utilisateur lui rentre un nombre sous cette forme 77, 7, 777 ou 7777.

Comment rajouter, stocker des zeros avant le nombre(sous forme de chaine) lu sur le clavier ? J'ai réussi )à la convertir en entier mais je n'arrive pas à mettre des 0 pour compléter le nombre...

En bref comment transformer:

7 ---> 0007

chmod(nomDeMonFichier,7);

--->

chmod(nomDeMonFichier,0007);

7 est stocké dans ma variable "int mode"

Merci d'avance :hap:

ptibiscuit32
ptibiscuit32
Niveau 13
10 février 2014 à 20:44:46

Je pose cette question parce que 0777 et 777 ne font pas le même résultat lorsque j'utilise la fonction chmod dans mon programme :)

ptibiscuit32
ptibiscuit32
Niveau 13
11 février 2014 à 09:06:15

Aah :) Merci beaucoup HommeMoyen tu a bien éclairé ma lanterne, il y a des subtilités que je n'avais pas compris ^^

Je vais tester cette conversion de base que tu m'as proposé et je te dit quoi :hap:

Merci beaucoup et bonne journée :ok:

ptibiscuit32
ptibiscuit32
Niveau 13
11 février 2014 à 10:10:58

Encore merci, je viens de tester ton algorithme j'ai pu finir mon programme. Marche impeccablement :)

Encore une bonne journée :ange:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment