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

SL & STL C++ Discussion :

Manipulation des fichiers avec fstream.


Sujet :

SL & STL C++

  1. #1
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut Manipulation des fichiers avec fstream.
    Salut!

    Je tente de faire une classe "fichier" dans laquelle j'utilise une méthode "open":
    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
     
    #include <cstdlib>
    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <string.h>
    using namespace std;
     
    class fichier{
                  string path;
                  fstream file;
    public:
                  fichier(string s):path(s),file(NULL){}
                  void open(){
                              file.open(path);
                              }
                              };
    "path" est l'adresse absolue du fichier.
    "open" ouvre un fichier nommé "file".

    Le problème est que j'ai l'erreur suivante dûe au fait que apparement la méthode "open" de la classe "fstream" n'accepte en argument que des chaines constantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    22 C:\Documents and Settings\Propriétaire\Bureau\main_code.cpp no matching function for call to `std::basic_fstream<char, std::char_traits<char> >::open(std::string&)' 
     note C:\Program Files\Dev-Cpp\include\c++\3.4.2\fstream:819 candidates are: void std::basic_fstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
    Comment contourner le problème?
    Existe t'il une autre méthode pour ouvrir un fichier avec une chaîne indéterminée à la compilation (en C++ pur,sans fopen...)?

    Merci de vos réponses.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  2. #2
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file.open(path.c_str());
    :
    Fiquet
    - FAQ SDL
    - FAQ C++

  3. #3
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Merci!

    Mais quel est le principe de c_str()?
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    retourner un pointeur vers des caractères constants. Regarde le prototype.

  5. #5
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Merci.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

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

Discussions similaires

  1. Manipulation des fichier avec JavaFX
    Par med-angelo dans le forum JavaFX
    Réponses: 4
    Dernier message: 26/10/2010, 22h09
  2. Manipulation des fichiers XML avec Pl/SQL
    Par wislam2007 dans le forum PL/SQL
    Réponses: 0
    Dernier message: 12/09/2008, 04h10
  3. Manipuler des fichiers xls avec c++
    Par 151085 dans le forum Visual C++
    Réponses: 2
    Dernier message: 27/08/2007, 15h18
  4. manipulation des fichiers et dossiers avec VBA excel
    Par GBAGO dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/07/2007, 23h30
  5. Manipulation des fichiers avec pl/sql
    Par Answerplease dans le forum PL/SQL
    Réponses: 1
    Dernier message: 10/07/2007, 11h53

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