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 Texte][StreamReader] comment fonctionne la ReadLine ?


Sujet :

C#

  1. #1
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut [Fichier Texte][StreamReader] comment fonctionne la ReadLine ?
    Bonjour,

    j'ai un gros probleme que je ne m'explique pas, j'ai un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    while(sr.Peek() >= 0)
    {
              string cplt = sr.ReadLine();
     
              if(cplt.Length == 612)
              {
                     ....
    chaque ligne de mon fichier doit faire 612 caractères, donc je fais un controle dessus.
    Quand je lance le programme, il me renvoi des lignes en erreur à quelques caractères près (609,610,611,613), mais quan dje regarde le fichier en détail avec textpad, aucune ligne n'est en erreur, si quelqu'un avait une idée d'où celà pourrait venir.....?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    cela pourrait provenir de caractere de control genre "\n" ou "\r\n"

    et tu ne les verras pas avec notepad ces caracteres

    Par contre, avec un editeur Hexa, tu les verras (genre WinHex... si ma mémoire
    est bonne )

    Ca pourrait expliquer ton soucis

    The Monz, Toulouse

  3. #3
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    J'ai regarder avec textpad en mode binaire, quand j'ouvre le fichier tous mes sauts de ligne sont en hexa 0xA, mais normalement la fonction readLine fait abstraction des caractères de sauts de lignes non?

  4. #4
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    essaie de mettre ta ligne dans un tableau pour voir le détail...

    essaie de faire ça..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char c[] = sr.ReadLine().ToCharArray();

    après regarde les derniers elements du tableau pour savoir si les caractères de saut de ligne sont pris en compte ou pas...

  5. #5
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    Je ne pense pas, car en regardant toujours avec textpad en mode binaire, sur 3 lignes j'ai bien : 612 caractères 0xa 612 caractères 0xa 612 caractères

    hors, ma première ligne est bien prise en compte comme ayant 612 caractères, mais le programme n'en voit que 609 à la deuxieme et 610 à l atroisieme

  6. #6
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    j'ai trouvé le problème, toutes mes lignes en erreur comportaient des accents, et après une petite recherche, j'ai vu qu'il fallait spécifier l'encodage de défaut pour que l'encodage ansi soit pris

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/05/2011, 22h50
  2. Réponses: 2
    Dernier message: 20/04/2010, 21h33
  3. Lire 2 fichiers textes simultanément - Comment faire?
    Par jacko2 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 04/04/2008, 17h08
  4. comment puis-je créer un BDD en fichier texte
    Par slyder dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/01/2005, 10h05
  5. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06

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