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 :

fichier C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Inactif  

    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    534
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 534
    Par d�faut fichier C++
    Bonsoir,
    Je ne parviens pas � CREER ET OUVRIR EN LECTURE ECRITURE un fichier avec fstream. Je me vois dans l' obligation de cr�er d' abord le fichier, le fermer, puis de le r�ouvrir en mode lecture �criture.

    Existe-t-il une m�thode plus directe en C++ avec les "fstream" ?

    Dans la foul�e , avec g++ et Linux que signifie "std::_Ios_Openmode" ?
    Une red�claration peut-�tre mais de quoi ? Sinon ?

    Pour conclure, pour acc�der � un "handle" de "fstream", la m�thode suivante livr�e par certains auteurs de logiciels ne fonctionne plus.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    fstream g_hd ;
    // ouvrir au minimum
    int       gethandle() { return g_hd.rdbuf()->fd() ; }
    Ca coince.

    Cordialement.

    Balises [Code] rajout�es par Ricky81
    Pensez y ...

  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 : 51
    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
    Par d�faut Re: fichier C++
    Citation Envoy� par dj.motte
    Bonsoir,
    Je ne parviens pas � CREER ET OUVRIR EN LECTURE ECRITURE un fichier avec fstream. Je me vois dans l' obligation de cr�er d' abord le fichier, le fermer, puis de le r�ouvrir en mode lecture �criture.
    Je n'ai jamais utilis� des flux en lecture/�criture, donc je ne peux pas parler d'exp�rience. Par contre, ma lecture de la norme semble indiquer que si tu ouvres en lecture/�critue avec en plus le flag ios_base::trunc, �a pourrait marcher.

    Citation Envoy� par dj.motte
    Pour conclure, pour acc�der � un "handle" de "fstream", la m�thode suivante livr�e par certains auteurs de logiciels ne fonctionne plus.
    A ma connaissance, cette m�thode n'a jamais fait partie du C++, c'est une extention. De plus, � moins que l'on ne d�cide de baser l'impl�mentation des flux C++ sur celle des flux C (ce qui n'a rien d'obligatoire, et est probablement n�faste dans certains cas), impl�menter une telle m�thode pose des tas de probl�mes (synchronisation entre les deux repr�sentations...).
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    HRS
    HRS est d�connect�
    Membre chevronn�
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <fstream>
    using namespace std;
    int main () {
       ofstream titi;
       titi.open ("titi.fic",ios::out);
       titi << "toto";
       titi.close();
       return 0;
    }

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    534
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 534
    Par d�faut
    Bonsoir,

    HRS vous d�tes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <fstream> 
     using namespace std; 
     int main () { 
        ofstream titi; 
        titi.open ("titi.fic",ios::out); 
        titi << "toto"; 
        titi.close(); 
        return 0; 
     }
    Je ne suis pa s�r que l' on puisse lire dans le fichier "titi" une fois ouvert avec seulement "ios::out".

    Or mon but �tait de cr�er en lecture-�criture un "fstream".
    Si cela est possible !

    Cordialement.

  5. #5
    HRS
    HRS est d�connect�
    Membre chevronn�
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par d�faut
    je n'avais pas vu LECTURE ECRIRE

    le programme suivant ouvre un fichier en lecture/ecriture

    �criture de 5 enregistrements puis lecture directe du 3�me enregistrement

    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
     
    #include <fstream>
    #include <iostream>
       using namespace std;
       struct PC{ 
          char NomPoste[30] ;
       }pc ; 
     
       int main () {
          char * lib[5] = { "toto1", "bibi", "keke", "baba", "ruru"};
          int lg = sizeof (PC);
          int i ; 
          ifstream Fichier("c:/AliasPC2.txt", ios::binary | ios::in | ios::out) ;
          ostream oFichier (Fichier.rdbuf());
          for(i=0; i<5; i++) {
             strcpy (pc.NomPoste,lib[i]); 
             oFichier.write((char *)(&pc), lg) ;
         }
          Fichier.seekg (2 *  lg);
          Fichier.read((char *)(&pc), lg) ;
          cout << pc.NomPoste << endl;    
          Fichier.close() ;
          cin.ignore();
          return 0; 
       }

Discussions similaires

  1. fichier mapp� en m�moire
    Par WinBernardo dans le forum Delphi
    R�ponses: 7
    Dernier message: 01/12/2006, 09h38
  2. R�ponses: 5
    Dernier message: 20/08/2002, 18h01
  3. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    R�ponses: 3
    Dernier message: 23/05/2002, 18h31
  4. Comparer des fichiers de donn�es : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    R�ponses: 6
    Dernier message: 24/04/2002, 22h37
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    R�ponses: 5
    Dernier message: 05/04/2002, 09h45

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