Partage
  • Partager sur Facebook
  • Partager sur Twitter

fseek, sprintf, fwrite, fread, strcpy

Comment marche ces fonctions?

    17 décembre 2007 à 22:14:06

    Bonjour a tous

    Bon voila les exams sont la pour certain, pour certain ca se passe bien, et pour d'autre on se casse vraiment la tete contre le mur pour essayer de comprendre quelque chose.
    Donc voila on a un probleme, cete année on a un prof de prog qui apprend le C en meme temps que nous, donc on a des cours completement foireux, on attaque la programmation objets alors qu'on a meme pas vu les fonctions avec passage de parametre, les tableaux, connais pas, les structures on les as survolées.

    Et en prime on a tres peu de support papier.

    Donc le prof nous a balancer 5 fonction dont a beaucoup de mal a comprendre l'utilisation : (je vous ai rajouter le code ou l'on utilise ainsi que les explications fourni par le prof)

    "sprintf"
    1. sprintf(chLigneMemo,"%2d x %s couleur %s (année %d)", voitureModele.quantite,voitureModele.chModele,voitureModele.chCouleur,voitureModele.annee);

    Et on a ceci comme explication :

    Citation : explication

    SPRINTF (ch_destination, "texte et %format1 %format2", &ch1 , &ch2 ) ;
    ajout des chaînes ch1 ch2 et du texte, et mémorisation dans une chaîne unique indexée par ch_destination.



    "fwrite" et "fread"
    1. fwrite(&voitureModele,sizeof(voiture),1,FichMarque);

    1. fread(&voitureModele,sizeof(voiture),1,FichMarque)


    Citation : explication

    size_t FREAD (void *buffer, size_t taille, size_t nbre,FILE *nom_fich) ;
    lit dans le fichier référencé par nom_fich un nbre de données de la taille taille et les stocke dans buffer. Les octets sont lus à la position courante du pointeur contenu dans le descripteur.
    int FWRITE (void *buffer, size_t taille, size_t nbre,FILE *nom_fich);
    idem fread, mais en écriture



    "fseek"
    1. fseek(FichMarque,0,SEEK_SET);


    Citation : Explication

    long fseek (FILE *nom_fich, long deplacement, int origine);
    permet de déplacer le pointeur courant sur le fichier référencé par nom_fich de +/- déplacement. Origine précise la référence du déplacement ( renvoie 0 en cas de succès).
    SEEK_SET à partir du début
    SEEK_CUR à partir position courante
    SEEK_END à partir de la fin



    "strcpy"

    1. strcpy(voitureModele.chModele,Emodele->Text.c_str());


    Citation : Explication

    STRCPY ( ch_dest , ch_srce) ;
    Recopie la chaine source dans la chaine destination. Attention :la place doit être suffisante
    la chaine source peut être spécifiée en clair



    Voila encore merci pour voir reponse, on a des exam demain et une grande partie de la classe est dans le flou a cause de ces quelque fonctions :/
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      17 décembre 2007 à 22:36:07

      tous se trouve dans le tuto de M@theo si je ne me trompe pas.
      Tu recheche une petite documentation sur le C/C++ et tu a toutes les explications qu'il pourrait te falloir en plus.
      Par contre si c'est du C, c'est pas ici, la c'est du C++ qu'on fait.
      Bonne chance en tous cas! (moi je commencerai à peine bientôt pour le bac de français)
      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2007 à 22:54:54

        j'ai deja fouiller et je n'ai trouver que la fonction fseek. :/

        Apres on est en plein dans la programmation objet, donc je me suis dit que ce post avait plutot sa place dans le C++
        • Partager sur Facebook
        • Partager sur Twitter
          17 décembre 2007 à 23:41:50

          Salut,
          bon je suis gentil mais tu aurai mérité un STFW!!
          une simple recherche sur google te donne:

          http://c.developpez.com/faq/?page=strings
          http://c.developpez.com/cours/le-c/?page=page_10
          http://c.developpez.com/cours/poly-c/?page=page_7

          tu remarquera que ca vient du même site, a mettre en favoris pour l'avenir, tu y trouvera pas mal de réponse.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            18 décembre 2007 à 6:03:48

            et sinon tous simplement :
            http://www.siteduzero.com/tuto-3-4522-1-lire-et-ecrire-dans-des-fichiers.html#ss_part_3
            http://www.siteduzero.com/tuto-3-4144-1-les-chaines-de-caracteres.html#ss_part_3

            seul fread et fwrite ne sont pas dedans, encore qu'on peut facilement trouver quelque chose dedans!
            Et c'est pas de la POO ça en tous cas, c'est des simples fonctions.
            • Partager sur Facebook
            • Partager sur Twitter
              18 décembre 2007 à 15:44:27

              LeSageMaboul c'est pas parce que tu veux utiliser les fonctions C pour afficher ou manipuler des fichier avec les données d'un objet que cela en fait de la POO.

              On a des objets prêt à tout ça en C++ déjà inclus dans la STL :

              Chaîne de caractères : std::string
              Lecture/Écriture de fichiers : std::fstream
              Lecture au clavier : std::cin ou std::getline
              Écriture dans la sortie standard : std::cout
              Transformation de type X vers une chaîne (et vice versa) : std::stringstream


              Pour ce qui est de connaître à utiliser ces classes tu peux chercher sur le forum, on a parler des millions de fois, relire le cours de M@teo21 et un tuto 'unofficial' sur les fichiers

              Et pour les références à mettre dans tes favoris il y a bien sur la pratico-pratique FAQ de developpez.com, l'incomplet et parfois éronné cppreference.com (il a l'avantage d'être facile à comprendre) et le complet mais dense dinkumware.com qui vaut la peine à être fouillé et compris.

              Pour faciliter la recherche dans les références de différents langages j'aime beaucoup utiliser gotapi.com

              • Partager sur Facebook
              • Partager sur Twitter

              fseek, sprintf, fwrite, fread, strcpy

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown