Résultats de 1 à 5 sur 5

Sujet : Ecrire dans un fichier passer à la ligne

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    11
    Bonjour !!

    voila, je voudrais écrire dans un fichier texte en utilisant ofstream de facon a ce que chaque information soit a la ligne.

    Code:
    ofstream ofs(\"aventure.txt\"); 
     ofs << fichier_a_lire;    
     ofs << heros->pts_vie_max;    
     ofs << heros->pts_vie; 
     ofs << heros->pts_habilete; 
    ofs << heros->pts_chance_max; 
    ofs << heros->pts_chance;

    mais lorsque j\'écris ce code, les informations ne sont que sur une seule ligne

    pouvez vous m\'aider ?
    merci d\'avance :wink:

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    627
    t as essaye d afficher un \"\\n\"? (\"\\r\\n\" sous windows)
    ... Until then, we're better off dead
    A smile on the lips and a hole in the head ...

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    627
    A ouai mais nan en fait c est dans un fichier. autant pour moi
    y a pas de fseek en c++?
    ... Until then, we're better off dead
    A smile on the lips and a hole in the head ...

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    11
    Re bonjour !

    j\'ai essayé de mettre \\n et aussi ofs <<endl mais les informations sont toujours a la suite.
    De plus elle s\'accumulent, il faudrait que je puisse les efface avant de les réécrire.

    Je ne sais pas ce que c que fseek ... :?:

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517

    Ecrire dans un fichier passer à la ligne

    Je ne connais pas ofs donc je peux pas spécialement aider mais pour effacer avant de réécrire, tu peux ouvrir ton fichier en \"w\", \"r+\", \"w+\" & essayer, ca efface l\'ancien texte et mets au début.
    Pour effacer un peu mais pas tout il faut utiliser \"w\" ou \"w+\" mais je sais pas plus pour n\'effacer qu\'une ligne.

    fseek set à positionner ton curseur pour voir ou tu ecris dans le fichier.
    Le prototype est

    int fseek(FILE *stream, long offset, int origin)
    Le déplacement de taille offset se fait à partir de origin qui peut prendre les valeurs prédéfinies suivante :
    SEEK_SET pour que le déplacement se fasse à partir du début du fichier
    SEEK_CUR pour se déplacer à partir de la position courante
    SEEK_END pour que le déplacement soit relati à la fin du fichier (en gros on compte à partir de la fin en remontant).

    De plus int ftell(FILE *stream) renvoie la position courante dans le fichier.

    Et avec << endl; ca marche pas ?
    Ou sinon, essaie de faire un fprintf(p_fichier , \"\\n\");
    C\'est comme ca que je faisais en C, en C++ jamais essayé encore mais il accepte encore le C, ouf.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé