Partage
  • Partager sur Facebook
  • Partager sur Twitter

ouverture de fichier etrange

il ne lit pas le fichier mais...

Sujet résolu
    4 septembre 2007 à 20:32:48

    ...mais il lit toutes les caracteres que je renvoie dans mes switch (dans une autre fonction) et dans n'importe quel ordre! :(

    1. switch(valeurL)
    2. {case 1:return 'a';break;
    3. case 2:return 'q';break;
    4. case 3:return '<';break;
    5. case 4:return 'z';break;
    6. case 5:return 's';break;
    7. case 6:return 'w';break;
    8. /...
    9. }


    mon fichier
    1. rien ne va plus!


    voici la fonction en question
    1. if(!lec)
    2. cout<<"fichier introuvable..."<<endl;
    3. else cout<<"le fichier a ete ouvert !!"<<endl;
    4. while(lec.get(oct))
    5. {{octet++;
    6. cout<<oct<<endl;
    7. getch();//pour mettre en pause
    8. }}


    ce que je souhaite
    le fichier a ete ouvert!
    r
    i
    e
    n
    n
    e
    v
    a
    p
    l
    u
    s
    !


    mais j'ai
    le fichier a ete ouvert!
    :
    ^
    ;
    Y
    a

    ... :o

    surprenant hein?

    pourquois ca fais ca
    • Partager sur Facebook
    • Partager sur Twitter
      4 septembre 2007 à 20:40:08

      t'as ouvert ton fichier en binaire?
      • Partager sur Facebook
      • Partager sur Twitter
        4 septembre 2007 à 20:42:32

        bah...non je souhaite le lire ctet par octet...
        ha oui
        c'est ifstream lec(nomFichier,ios::in);
        nomFichier="fichier test.txt"
        • Partager sur Facebook
        • Partager sur Twitter
          4 septembre 2007 à 20:51:18

          oui binaire tu vas le lire octet par octet ;)

          quand j'utilise des get ou des read j'ouvre toujours mes fichiers en binaire.
          • Partager sur Facebook
          • Partager sur Twitter
            4 septembre 2007 à 20:54:12

            en fait ce que je comprend pas c pourquois ca me lit autre chose que dans mon fichier... :(
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              4 septembre 2007 à 20:59:45

              Salut,

              si tu a fait ça :

              ifstream lec(nomFichier,ios::in);
              nomFichier="fichier test.txt"

              ça peut pas marcher.

              1. Evite les espaces dans le nom du fichier
              2. si tu stocke le nom du fichier dans un string, à l'ouverture, il faut faire : ifstream lec(nomFichier.c_str(), ios::in);
              3. il faut inverser tes deux lignes

              et pour l'ouvrir en bonaire, il faut rajouter ios::binary
              • Partager sur Facebook
              • Partager sur Twitter
                4 septembre 2007 à 21:03:59

                j'ai stocker le nom de mon fichier dans un char*
                (sinon erreur d'ouverture au mieux)

                les fichier avec des espaces j'ai déja essayé et ca marche tres bien ^^ .

                si j'inverse les lignes j'ai le meme resultat...

                • Partager sur Facebook
                • Partager sur Twitter
                  4 septembre 2007 à 21:08:38

                  1. std::string fichier = "test.txt";
                  2. std::ifstream ifs( fichier.c_str(), std::ios_base::in | std::ios_base::binary );
                  3. if( ifs.is_open() )
                  4.     std::cout << "Le fichier " << fichier << " est ouvert << std::endl;


                  ios plutot que ios_base fonctionne très bien mais je préfère être ultimement précis dans mes exemples
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    4 septembre 2007 à 21:12:03

                    c'est pas son code le problème. en tout cas chez moi ça fonctionne aussi avec char*.

                    Je suppose que oct est un char ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 septembre 2007 à 20:58:05

                      j'ai trouver le probleme ca viens d'un switch d'une autre fonction
                      depuis que mon ordi me l'a effacé(ou dev)
                      il n'y a plus ce probleme.
                      mais cela reste enigmatique...
                      et ca m'enerve assez ^^
                      • Partager sur Facebook
                      • Partager sur Twitter

                      ouverture de fichier etrange

                      × 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