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 :

petit problème avec un fichier


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut petit problème avec un fichier
    Bonsoir à tous les noctambules

    Je débute en C++ et j'aimerais lire des données sur un fichier .xls. Je l'ai déjà créé avec des infos de type string et int (et ça a fonctionné). Là j'essaie de les lire à partir du fichier pour les afficher à l'écran mais le compilateur (Visual C++ 2008 Express Edition) semble "zapper" le code : il exécute et affiche une fenêtre DOS avec le message type de system("PAUSE"). Il n'indique pas d'erreur. C'est certainement un gros oubli de syntaxe quelque part mais j'ai le nez tellement dessus que je ne vois plus mes bêtises. Voici la partie de code correspondante :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <iomanip>
    #include <list>
    #include <algorithm>
    #include <iterator> //nécessaire à l'affichage du contenu d'une liste
    #include <limits>//include nécessaire pour vider le buffer avec cin.ignore(...)
     
     
    using namespace std;
     
    /*void nvclient();
    void nvproduit();
    void nvemploye();
    void ecriremagasin();
    void liremag();
     
    template <class X>
    void lireListe(const list<X> &listprov);*/
     
    int main (){
     
    	//list<CMagasin>essai;
    	//liremag();
     
    	ifstream lecmag("Magasins.xls",ios::in);
    	string nmg;//nom du magasin
    	string admg;//adress
    	int cpmg;//code post
    	string vlmg;//ville
    	string tlmg;//phone
     
    	if(!lecmag)
    	{
    		cerr << "Ouverture impossible";
    		exit(1);
    	}
        while(lecmag >> nmg >> admg >> cpmg >> vlmg >> tlmg)
    		cout << nmg << "\t" << admg << "\t" << cpmg << "\t" 
                                     << vlmg << "\t" << tlmg << "\n";
    	lecmag.close();
     
    	//essai.push_front(*ptmag);
    	//lireListe(essai);
     
    	system("PAUSE");
    	return EXIT_SUCCESS;
    }
    Si qqn pouvait éclairer ma lanterne...Merci

    Isannie

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    As tu essayé d'ouvrir un fichier xls dans notepad ? Il ne ressemble en rien au tableau lui même. Du coup, la lecture échoue. Probablement que quand il essaye de lire cpmg, il n'y a pas un nombre dans le fichier, ce qui fait que le flux passe en erreur, et que tu sorts de ta boucle immédiatement.

    Peut-être si tu le sauves dans un format type csv ça se passera mieux.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Merci JolyLoic pour le dépannage
    J'ai essayé en format .csv et en .txt. Le code est effectivement exécuté. Comme il n'avait pas posé de problème avec l'écriture du fichier en format .xls en ofstream, je pensais que ifstream réagirait d'une manière similaire. On avait essayé, en cours avec notre prof, l'écriture sur différents types de fichiers, dont un fichier EXCELL et un autre HTML mais pas d'opération de lecture. Je vais continuer en .txt

    Encore merci et bonne journée à tous

    isannie

Discussions similaires

  1. Petits problèmes avec autotools - Fichiers fantômes
    Par Invité dans le forum Systèmes de compilation
    Réponses: 0
    Dernier message: 15/12/2013, 00h32
  2. Petit problème avec Line Input
    Par GrosQuicK dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2005, 12h47
  3. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 18h45
  4. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 09h10
  5. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44

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