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 :

forcer le passage a la ligne lors de l'ecriture sur un fichier


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut forcer le passage a la ligne lors de l'ecriture sur un fichier
    j'utilise fprintf mais lorsque je lui met le caractere \n dans la "string" a copier il ne passe pas a la ligne dans le fichier ni meme ne me le \n dans le fichier texte!!! bizzare non ??
    fprintf n'est pas censé marcher comme printf mais juste dans un fichier ?

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par darkman10
    j'utilise fprintf mais lorsque je lui met le caractere \n dans la "string" a copier il ne passe pas a la ligne dans le fichier ni meme ne me le \n dans le fichier texte!!! bizzare non ??
    fprintf n'est pas censé marcher comme printf mais juste dans un fichier ?
    Pas aussi bizarre que le fait que tu n'a pas donné une ligne de code.

    Donne nous un code compilable, reduit au minimum et montrant le probleme. Merci.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    essai \r\n.

    sinon ouvre ton fichier avec un editeur hexadicimal et verifie si ton \n est present ou pas.

    fprintf n'est pas censé marcher comme printf mais juste dans un fichier ?
    si mais il faut preciser un pointeur de fichier(1er parametre)

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    voila la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fprintf(ficNAV," %f %f\n",date,NAVT);

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    merci !!!
    ca marche avec le \r\n
    j'en profite pour remercier tous les membres du forum qui sont super sympa!!!

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par darkman10
    ca marche avec le \r\n
    C'est pas normal. Avec '\n', ça devrait fonctionner si le fichier a été ouvert en mode texte ("w").

    On t'a demandé de montrer ton code, mais tu n'as pas voulu le faire. J'ai bien peur que la réponse que tu as eu ne soit incomplète...
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    j'ouvre mes fichiers en mode "wb" c'est surement pour ca que le \n ne suffit pas
    voila le code qui ne me permettait pas de passer a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #define txtDRW "D:/DRAW.csv"
    FILE * ficDRW;
    ficDRW=fopen(txtDRW,"wb");
    fprintf(ficDRW,"\n");
    en ajoutant le \r ca passe tout seul

  8. #8
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par darkman10
    j'ouvre mes fichiers en mode "wb" c'est surement pour ca que le \n ne suffit pas
    En effet, mais pourquoi utilises-tu le mode binaire? C'est inutile dans ton code (et cela te complique la vie, comme tu viens d'en faire l'experience). Pour simplifier les choses:
    - mode "w" -> fprintf()
    - mode "wb" -> fwrite()

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    effectivement tu as raison c'est stupide de l'ouvrir en mode binaire
    ca marche tres bien comme tu as dis et du coup plus besoin de \r
    en gros si mode binaire pour passer a la ligne ajouter \r\n
    si non \n seulement!!!

  10. #10
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par darkman10
    en gros si mode binaire pour passer a la ligne ajouter \r\n
    si non \n seulement!!!
    C'est plus complique que cela, car certains systemes utilisent comme marqueur de fin de ligne \r\n, d'autres \r uniquement, d'autres \n seulement, d'autres enfin n'ont pas de marqueurs de fin de ligne. Ouvrir un fichier texte en mode binaire, c'est perdre toute portabilite.
    En mode texte, le '\n' est silencieusement traduit en le marqueur qui va bien. De toute facon, ouvrir un fichier texte en mode texte, cela parait evident, non?

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

Discussions similaires

  1. aller à la ligne lors de l'ecriture dans un fichier xml
    Par nancy maman dans le forum Général Python
    Réponses: 4
    Dernier message: 11/04/2011, 12h56
  2. Réponses: 2
    Dernier message: 28/07/2009, 17h32
  3. Comment sauter une ligne lors de l'ecriture dans un fichier
    Par Harald dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 29/05/2009, 18h01
  4. Changer la police lors de l'ecriture sur un fichier Java
    Par Toussa76130 dans le forum Documents
    Réponses: 8
    Dernier message: 27/07/2007, 02h46
  5. Passer à la ligne lors de l'écriture dans un fichier
    Par hams dans le forum Assembleur
    Réponses: 4
    Dernier message: 17/04/2005, 19h25

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