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 :

[D�butant] Concepts : types + tas de questions


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Inscrit en
    Septembre 2005
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Par d�faut [D�butant] Concepts : types + tas de questions
    Je suis d�butant et je suis en train d'�crire un programme en C/C++ pour windows avec l'API ; et je me pose un certain nombre de questions avant de poser mon algo sur le compilateur.

    Alors d�j� je r�cup�re 4 tableaux correspondant chacun au contenu d'un r�pertoire, avec des noms et attributs de fichiers : comment d�clareriez-vous ce tableau sachant que j'ai des types diff�rents (nom de fichier, date de cr�ation ou de modification, taille en octets etc...) ? Une structure, un type ? Pouvez-vous me montrer la/les d�clarations ?

    Ensuite, le but de mon programme sera en fait de comparer les tableaux pour mettre � jour les bons fichiers et virer les plus vieux, et rajouter les nouveaux selon la taille du disque dur � remplir... Le programme n'�tant l� que pour vider et remplir un disque dur USB, en gros, mais intelligemment.

    Comment classer le tableau : en SQL j'aurais fait : "SELECT * from Tableau1 order by tableau1.DATE_FS desc ;" o� DATE_FS est le champ de mon tableau qui contient la date du fichier.
    Dans mes cours de C, chaque fois qu'on faisait un tableau le prof nous demandait de le classer par nous-m�me avec une boucle : existe-t-il une fonction pour faire cette besogne ? Le but de cette ordination est de copier les fichiers par ordre d'importance CAD par date d�croissante.

    Sinon comment stocker mes tables en dur sur un langage compatible SQL depuis mon code en C ? Est-ce judicieux ? Quel type de fichier est le plus simple � traiter sachant que selon mes calculs chaque tableau recevra environ 20 000 entr�es de noms de fichiers. Ca pourrait apporter un plus � mon programme de montrer un menu des mises � jours m�me si ce n'est pas crucial et que �a deviendrait rapidement inexploitable � l'oeil nu avec 20 000 lignes.

    Sinon encore plus simple... Est-il possible de faire des requ�tes SQL sur des objets C ou C++ qu'on a cr�� ? Doit-on utiliser des objets particuliers qui ressemblent � des structures ?

    Vaut-il mieux utiliser des tableaux sachant que je vais avoir des types diff�rents dans les tableaux mais que chaque tableau aura la m�me structure ? D'apr�s ce que j'ai lu sur le typage C, le plus rigoureux serait de cr�er un "type struct" qui porte le nom du type des futurs tableaux... est-ce judicieux ?

    Ensuite, un probl�me auquel mon programme va s'exposer c'est la diff�rence entre taille de clustering et taille r�elle des fichiers... Comment g�rer cette diff�rence avant ma copie de fichiers ? Comment un programme peut g�rer ce genre de soucis lors de la copie ?

    Comment calculer (ou r�cup�rer) la taille disponible d'un disque dur ou d'une partition NTFS ?

  2. #2
    Membre confirm� Avatar de BigNic
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    195
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 195
    Par d�faut
    Pour la premi�re question pk tu ne fais pas comme �a:

    C++

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     myFileClass
    {
        std::string m_name;
        unsigned m_size;
        time_t m_date;
        // etc...
    }
    et apr�s
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    myFileClass v_myRep[nbFiles];
    si le nombre fichiers dans ton repertoire est variable soit tu le determine avant de cr�er to tableau, soit tu fais des alloc dynamic.

  3. #3
    Membre habitu�
    Inscrit en
    Septembre 2005
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Par d�faut
    A vrai dire BigNic, je ne comprends pas cette d�claration 'std ::' ...

    et pour d�clarer : MyFileClass, il faut pas un "struct" devant ?

  4. #4
    Membre �m�rite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    D�tails du profil
    Informations personnelles :
    �ge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par d�faut
    Salut,

    'std::' signifie que string est d�clar� dans l'espace de nom 'std'.

    Il y a tout sur les espaces de nom dans la FAQ:
    http://c.developpez.com/faq/cpp/

    Au vu de tes besoins, il te faut un vector sur un type:
    Soit une classe ou une structure.

    Personnellement, je pense qu'une structure serait suffisante.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //Déclarer CDate:
    typedef CDate string;
     
    struct FileInfos {
      Name : string;
      CreatedDate  : CDate //La ça dépend, tu as plusieurs choix.
      ModifiedDate :
      Size:Unsigned long //Pour les très gros fichiers.
    };

  5. #5
    Membre habitu�
    Inscrit en
    Septembre 2005
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 13
    Par d�faut
    Ca me parait tr�s compliqu� ! Je vais essayer de m'exercer � manipuler ce genre de variables !

    Et pour ce qui est des autres questions ? tables compatibles SQL ?

    comment faire pour allouer une longueur de tableau dynamique ?

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    94
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 94
    Par d�faut
    Ca me parait tr�s compliqu� ! Je vais essayer de m'exercer � manipuler ce genre de variables !
    Je suis tout � fait d'accord Je programme en C++ depuis 1 an et demi autant dire que je ne suis pas tout � fait d�butant, eh ben j'aurais pas os� essayer un truc pareil 8)

    L'histoire du SQL avec les objets C++, c'est impossible avec le standard. Je ne suis m�me pas sur que �a existe en biblioth�que, par contre tu peux utiliser SqLite pour construire tes tables, c'est un outil plut�t pratique.

    Les clusters et le NTFS, faut regarder du c�t� de l'API Windows je pense, �tant donn� que NTFS est un syst�me de fichiers propri�taire de Micro$oft ...

    Bonne chance � toi
    Kwakanar[/quote]

  7. #7
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Citation Envoy� par Epouvantail
    comment faire pour allouer une longueur de tableau dynamique ?
    Cherche std::vector<> dans la FAQ.
    Et std::sort pour les tris.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  8. #8
    Membre �m�rite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    D�tails du profil
    Informations personnelles :
    �ge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par d�faut
    C'est normal que �a te sembles compliqu�, mais c'est comme �a que tu vas progresser


    Pour Kwakanar: Tu parles de ma d�claration? ou de celle d'avant?


    Citation Envoy� par Epouvantail
    Ca me parait tr�s compliqu� ! Je vais essayer de m'exercer � manipuler ce genre de variables !

    Et pour ce qui est des autres questions ? tables compatibles SQL ?

    comment faire pour allouer une longueur de tableau dynamique ?

Discussions similaires

  1. Question de d�butant : conception de jeux
    Par zooffy dans le forum Moteurs 3D
    R�ponses: 16
    Dernier message: 14/02/2008, 07h48
  2. Type void * ... petite question !
    Par Franck.H dans le forum C
    R�ponses: 29
    Dernier message: 28/03/2005, 13h38
  3. [D�butante] Conception
    Par bolo dans le forum Assembleur
    R�ponses: 14
    Dernier message: 25/11/2004, 03h40
  4. [d�butante][Concept] Destruction d'objet, mode d'emploi?
    Par skea dans le forum G�n�ral Java
    R�ponses: 4
    Dernier message: 12/06/2004, 21h48
  5. [D�butant][Conception] LIFO et Iterator
    Par Wisefool dans le forum Collection et Stream
    R�ponses: 8
    Dernier message: 05/05/2004, 13h50

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