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 :

lecture et ecriture simultanées dans un fichier en c++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Par défaut lecture et ecriture simultanées dans un fichier en c++
    Bonjour,
    J'aimerais comprendre pourquoi mon code ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    fstream fichier(nomfichier.c_str(), ios::in | ios::out | ios::ate);
    	if(fichier)  
    	{
    		fichier.seekg(ios_base::beg);
    		fichier.seekp(ios_base::beg);
    		fichier << "test";      // ne marche pas
    		fichier.write ("test",4*sizeof(char));     //ne marche pas non plus :(((
                  }

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Que signifie "ne marche pas"?
    Quel est le symptome?

  3. #3
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Par défaut
    ça n'écrit pas dans le fichier

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    ajoute un else coin coin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fstream fichier(nomfichier.c_str(), ios::in | ios::out | ios::ate);
    if(fichier)  {
    	fichier.seekg(ios_base::beg);
    	fichier.seekp(ios_base::beg);
    	fichier << "test";      // ne marche pas
    	fichier.write ("test",4*sizeof(char));     //ne marche pas non plus :(((
    } else {
    	cout << "coin coin" << endl;
    }
    A priori, le fichier n'a pas pu être ouvert.
    Peut être parce que le chemin spécifié n'est pas valide, ou encore parce que l'utilisateur n'as pas le droit d'y écrire.

  5. #5
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Juin 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Juin 2015
    Messages : 31
    Par défaut
    non il s'ouvre bien, du coup j'ai abandonné l'idée de modifier un fichier directement (bien trop casse ... bonbon), je crée un flux pour la lecture et je crée un flux pour l'écriture dans un nouveau fichier.

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Par défaut
    Salut , j'ai pas trop compris ce que tu cherchais à faire . J'imagine que tu veux lire et écrire dans un fichier avec le même flux car le code que tu met en exemple effectue simplement deux écritures de façon différentes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	fstream fichier("greg.txt", ios::in | ios::out | ios::ate);
    	string line; 
     
    	if(fichier)  {
    		fichier << "test"; 
    		fichier << "LOLZ"; 
    		fichier.seekg(ios_base::beg);
    		getline(fichier , line);
    		cout << line << endl;
    	}
    Ca marche chez moi , je veux dire que j'écris d'abord deux mots à la suite dans mon fichier puis je déplace mon curseur au début du fichier puis je lis la première ligne donc j'obtiens en sortie "testLOLZ" . Il y a une condition pour que ce code fonctionne ,c'est qu'il faut que le fichier greg.txt soit crée avant.

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

Discussions similaires

  1. Ecriture/ Lecture d'une array dans un fichier
    Par Seth77 dans le forum C#
    Réponses: 4
    Dernier message: 19/03/2012, 21h39
  2. [1.x] Lecture/Ecriture Depuis/Dans un fichier YAML
    Par Ibn Rochod dans le forum Symfony
    Réponses: 5
    Dernier message: 25/04/2011, 13h08
  3. Ecriture simultanée dans un fichier Excel
    Par apo.arutha dans le forum Développement de jobs
    Réponses: 7
    Dernier message: 21/01/2010, 16h14
  4. Ecriture simultanée dans un fichier
    Par doudou34 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 30/09/2005, 14h26
  5. [C#] [.NET] Lecture d'une classe dans un fichier
    Par niPrM dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/05/2004, 08h57

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