Probléme avec fin de ligne dans une chaîne de caractére récupérée à partir de St [Résolu]

kikoj 15 Messages postés mercredi 8 octobre 2003Date d'inscription 22 août 2005 Dernière intervention - 29 juil. 2005 à 10:55 - Dernière réponse : kikoj 15 Messages postés mercredi 8 octobre 2003Date d'inscription 22 août 2005 Dernière intervention
- 29 juil. 2005 à 14:16
Salut,
Mon probléme c'est que je suis en train de récupérer un "string" à partir d'un StreamReader avec la méthode ReadLine() et je veux connaitre le marqueur de fin de cette chaîne(un '\n' ou '\r').
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
kikoj 15 Messages postés mercredi 8 octobre 2003Date d'inscription 22 août 2005 Dernière intervention - 29 juil. 2005 à 14:16
3
Merci
Merci à tous j'ai trouvé comment contourner le probléme.

Merci kikoj 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de kikoj
cispo 103 Messages postés mardi 9 novembre 2004Date d'inscription 10 septembre 2007 Dernière intervention - 29 juil. 2005 à 11:11
0
Merci
Hello,



Tu peux utiliser la méthode IndexOf() qui te retourne la position d'un caractere dans une chaine de caractères.



Exemple: string machaine = "salut";

int position = machaine.IndexOf('a');



Ici, position vaut 1 (le premier caractere a pour valeur 0). Si le
caractère n'est pas trouvé, la méthode IndexOf() te renvoie -1.



En espérant avoir bien compris ta question ...
Commenter la réponse de cispo
kikoj 15 Messages postés mercredi 8 octobre 2003Date d'inscription 22 août 2005 Dernière intervention - 29 juil. 2005 à 11:27
0
Merci
Merci pour la réponse mais le probléme c'est que ma chaîne une fois récupérée du StreamReader ne contient plus de '\n' ou '\r' et cette information est necessaire pour moi.
Commenter la réponse de kikoj
Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 29 juil. 2005 à 12:09
0
Merci
mais c'est normal, car tu utilise ReadLine(), lire une ligne, et dans une ligne, il ya pas de retour a la ligne

YaoYao !!
1 + 1 = 10
Commenter la réponse de Fildomen
kikoj 15 Messages postés mercredi 8 octobre 2003Date d'inscription 22 août 2005 Dernière intervention - 29 juil. 2005 à 12:23
0
Merci
Je sais trés bien qu'il n'y a pas de retour à la ligne dans une ligne. Mais ce que je veux c'est récupérer la ligne et le caractére qui marqué la fin de la ligne dans le fichier. Il y'a une solution c'est de lire caractére par caractére avec Read() mais ça ne m'interesse(probléme d'optimisation).

J'espére au moins que tu as compris cette fois.

YaoYao!!
1+1 = 11
Commenter la réponse de kikoj
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 29 juil. 2005 à 12:39
0
Merci
Salut, c'est mieux avec StreamReader.ReadBlock( ... ) !?
Commenter la réponse de Lutinore
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 29 juil. 2005 à 12:50
0
Merci
Ou un ReadLine( ) suivi d'un Peek( ) !?
Commenter la réponse de Lutinore
kikoj 15 Messages postés mercredi 8 octobre 2003Date d'inscription 22 août 2005 Dernière intervention - 29 juil. 2005 à 13:06
0
Merci
Pour ReadBlock(....) ce n'est pas trés interessant car je n'ai une taille fixe de bloque à lire. Quant à Readline() suivi d'un Peek() ça ne sert aussi à rien car Peek() récupére le premier caractére de la ligne suivante. Le fameu caractére de fin de ligne est consommé par le précedent ReadLine().
Commenter la réponse de kikoj
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 29 juil. 2005 à 14:12
0
Merci
Ouaip effectivement ReadLine consomme le newline, Tu peux te contenter de le lire qu'une fois avec Read( ), non ? Les performances sont peut être meilleures si tu augmentes la taille du buffer ou avec un BufferedStream, Je ne sais pas pourquoi tu as besoin du newline, mais si c'est pour le "réinjecter" dans un texte tu peux utiliser Environment.NewLine.
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.