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++/CLI Discussion :

probleme pour �crire dans un fichier texte


Sujet :

C++/CLI

  1. #1
    Membre tr�s actif
    Homme Profil pro
    Inscrit en
    Ao�t 2013
    Messages
    274
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 274
    Par d�faut probleme pour �crire dans un fichier texte
    Bonjour,

    j'ai un serveur qui r�cup�re des donn�es et les �crit dans un fichier texte data.txt via la class ofstream, et ca marche tr�s bien. Mais quand j'entre dans le fichier data.txt, que j'efface toutes les data dans le fichier, et ensuite r��met des donn�es au serveur, le serveur inscrit des donn�es totalement fausses dans le fichier (plein de 0, on dirait meme de l'hexa).

    j'ai remarqu� que j'�met 40ko, et lorsque j'efface les data dans le fichier data.txt puis r��met des data sur le serveur, mon fichier fait 80ko de data au lieu de 40ko.

    Avez vous une id�e de pourquoi ca fait ca. Est ce un probleme de curseur, car le serveur �crit � un endroit et ne sait pas que des donn�es ont �t� effac�?

    voici mon code:
    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
     
    int main(int argc, char const *argv[])
    {
    	ofstream fichier("data.txt", ios::in | ios::trunc);
    	TcpServer socket(30000);  // numéro du port = 30000
    	string textRecu;
     
     
    	if(fichier){
     
    		while(1){
    			textRecu = socket.lire();
     
    			fichier<< textRecu << std::endl;
     
    			}
    }
    merci d'avance pour votre aide

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Pourquoi ios::in sur ton flux en �criture?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre tr�s actif
    Homme Profil pro
    Inscrit en
    Ao�t 2013
    Messages
    274
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 274
    Par d�faut
    oui, j'ai fait des tests j'ai du oubli� de l'enlever car ios::out est mis par d�faut.

    J'arrive via fichier.seekp(0) a placer mon curseur au d�but du fichier texte mais malheureusement j'�cris par dessus mon texte Y'a t'il pas un moyen de se placer au d�but du fichier et lorsque j'�cris, ca �crit avant le texte sans l'effacer?

  4. #4
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    D�cembre 2015
    Messages
    1 599
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 1 599
    Par d�faut
    Bonjour,

    Un fichier c'est comme une feuille de papier. Une fois que tu as �cris, on ne peut pas ajouter des choses avant. On peut remplacer (et � condition que le remplacement ait la exactement la m�me longueur que ce qui est effac�.) On peut �videmment ajouter des choses � la fin du texte d�j� �crit en utilisant ios::ate. Pour "corriger" un fichier, pas d'autres moyens que d'en �crire un autre quitte � la renommer � la fin.

  5. #5
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    On peut aussi lire le contenu du fichier, l'ajouter � la chaine que l'on veut ins�rer en d�but de fichier, rouvrir le fichier en �criture, et y d�verser le r�sultat de la concat�nation du pr�fixe et du contenu du fichier pr�c�demment lu.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 03/07/2009, 16h50
  2. R�ponses: 20
    Dernier message: 27/06/2006, 17h42
  3. [DOS] Commande pour �crire dans un fichier texte
    Par Jeff87-01 dans le forum Scripts/Batch
    R�ponses: 5
    Dernier message: 28/03/2006, 01h04
  4. R�ponses: 3
    Dernier message: 21/03/2006, 13h12
  5. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et ant�rieur
    R�ponses: 3
    Dernier message: 24/01/2005, 17h33

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