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

C Discussion :

opendir / readdir sous Linux


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 139
    Par défaut opendir / readdir sous Linux
    Bonjour,
    Petite question concernant la fonction readdir que j'utilise dans mon programme C qui tourne sous Linux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            dir=opendir("C:\\temp\\");
    	while((p = readdir(dir))!=NULL)
    	{
    		printf("%s\n",p->d_name);
    	}
    Ce code marche bien, par contre je voudrais savoir comment faire pour que readdir me lise les fichiers du + récent au + ancien ?

    Comment dois-je m'y prendre ?

    Merci

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    bonjour steph_1,

    Citation Envoyé par steph_1 Voir le message
    je voudrais savoir comment faire pour que readdir me lise les fichiers du + récent au + ancien ?
    en utilisant la fonction stat(2) qui te renvoit une structure contenant un champs st_ctime, lequel correspond à la date du dernier changement d'état de l'inode (et non la date de *création* du fichier, mais c'est la meilleure granularité qu'on puisse avoir sous Linux)

    reste ensuite à trier le tout, avec pourquoi pas qsort(3) ou ta propre implém. d'un algo de tri

  3. #3
    Membre chevronné
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    (et non la date de *création* du fichier, mais c'est la meilleure granularité qu'on puisse avoir sous Linux)
    C’est vrai, mais ça vient du FS sous-jacent, pas de Linux lui-même.

    Sinon, moi je passerai par scandir (que tu pourras utiliser en combinaison avec stat comme l’a indiqué BufferBob)

Discussions similaires

  1. [Série] Accès au port série sous linux
    Par ghost dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 10/10/2007, 10h43
  2. Comment désinstaller MySQL sous linux
    Par nahmsath dans le forum Installation
    Réponses: 5
    Dernier message: 18/09/2007, 10h46
  3. installer jbuilder7 sous linux
    Par rtlinfo34 dans le forum JBuilder
    Réponses: 5
    Dernier message: 30/10/2002, 19h16
  4. Réponses: 2
    Dernier message: 25/10/2002, 22h19
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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