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 :

structure stat


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut structure stat
    Bonjour,

    je ne vois pas pourquoi, mais gcc ne détecte pas le membre ' off_t ' de la structure stat.
    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <fcntl.h>       
    int main(int argc,char *argv[])
     {    
     if(argc!=3)    
     {         printf("Le nombre d'argument en entrée est incorrecte\nla syntaxe correcte est ' ./tri fichier1 fichier2 '\n");       
      exit(1);    
     }     
    struct stat *buf;    
     int fd1,fd2,a,taille;    
     char *chaine;     //char *chaines[];    
      fd1=open(argv[1],O_RDONLY);    
     if(stat(argv[1],buf)==-1)   
      {         perror("stat");       
      exit(1);    
     }    
     taille=buf->off_t;             
      .....
                  ............ 
                   .........
                  return 0;
    }
    gcc dit:

    struct stat’ has no member named ‘off_t’
    J'ai vérifié dans la man, mais ça me semble bon, pourtant ...
    Quel qu'un peut-il me dire pourquoi ?

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Tu as dû confondre, off_t est le type du membre, membre portant l'identifiant de: st_size
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé Avatar de FidoDido®
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 101
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    struct stat {
         dev_t      st_dev;      /* Périphérique*/
         ino_t       st_ino;      /* Numéro i-noeud */
         mode_t    st_mode;     /* Protection*/
         .
         .
         off_t         st_size;     /* Taille totale en octets     */
         .
         .
    };
    Il semblerait que tu aies confondu off_t et st_size...

  4. #4
    Membre confirmé Avatar de FidoDido®
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 101
    Par défaut
    Oups, en retard sur toi CSoldier

  5. #5
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Attention, le pointeur buf n'est pas initialisé !!!

  6. #6
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Merci à tout le monde, jpense que j'étais un peu dans les vappes
    J'ai modifié le code ce qui donne ceci et qui marche très bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int taille;
    struct stat *buf;
    buf=malloc(sizeof(struct stat));
    stat(argv[1],buf);
    taille=buf->st_size;
    Encore merci

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

Discussions similaires

  1. question sur structure stat
    Par julio.t dans le forum Débuter
    Réponses: 5
    Dernier message: 05/09/2008, 13h44
  2. structure stat et fichiers
    Par wkd dans le forum C
    Réponses: 1
    Dernier message: 25/11/2006, 13h53
  3. recuperation de la structure d'une base
    Par pascalT dans le forum 4D
    Réponses: 7
    Dernier message: 07/06/2006, 15h32
  4. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10
  5. longueur d'une structure
    Par bohemianvirtual dans le forum C
    Réponses: 6
    Dernier message: 28/05/2002, 18h31

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