IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Comparer des noms de fichiers équivalents en C


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Comparer des noms de fichiers équivalents en C
    Bonjour,

    Je voudrais que mon programme puisse comprendre que les noms de fichiers suivants :
    "/home/jojo/fichier"
    "~/fichier"
    "~/../jojo/fichier"
    font référence au même fichier! (en étant connecté en tant que 'jojo')

    Y a t'il une fonction qui permette cela?

    Merci d'avance

  2. #2
    Membre averti Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Points : 300
    Points
    300
    Par défaut
    Pas du tout spécialiste en C, Mais :
    S'il s'agit de retrouver le chemin absolu d'un fichier, il n'y qu'un identifiant : son inode.
    Car en systèmes *nix il peut y avoir des liens (symboliques ou non) sous toutes sortes de noms pour le même fichier
    par exemple :
    "/home/jojo/autre/chemin/autre_fichier" et "/home/jojo/fichier" peuvent pointer vers le même fichier physique.

    Sinon, les chemins
    "/home/jojo/fichier"
    "~/fichier"
    "~/../jojo/fichier"
    sont interprétés par le shell comme représentant le même fichier.

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci!

    Il ne me reste plus qu'à voir quelle fonction utiliser, ça doit pas trop long à trouver, et je ferme la discussion!

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    En peut trouver l'inode d'un fichier avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <sys/stat.h>
    #include <stdio.h>
     
    int main ()
    {
       struct stat s;
       if (stat (filename, &s)) exit (-1);
       printf ("Inode de filename = %li\n", stat.st_ino);
       return 0;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une liste avec des noms de fichiers
    Par Jeffboj dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 05h48
  2. Récupérer des noms de fichiers dans une table ?
    Par florus dans le forum Access
    Réponses: 5
    Dernier message: 25/03/2006, 17h34
  3. Supprimer les espaces des noms de fichier
    Par Cathy dans le forum Linux
    Réponses: 20
    Dernier message: 04/08/2005, 17h13
  4. récupérer des nom de fichiers en utilisant *.ext
    Par drinkmilk dans le forum ASP
    Réponses: 11
    Dernier message: 15/12/2004, 09h21
  5. Réponses: 4
    Dernier message: 10/10/2003, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo