AFFICHER LA XEME LIGNE D'UN TEXTE

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 4 oct. 2004 à 10:24
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 11 oct. 2004 à 16:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26565-afficher-la-xeme-ligne-d-un-texte

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
11 oct. 2004 à 16:21
lol

au fine z herbes !
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
11 oct. 2004 à 09:47
ok! bon ben puisque tout le monde parle allemand ici, pourquoi on ne demanderait pas à BruNews de monter www.cppAufDeutsch.com ?? ;o)

Bonne journée, bonne prog et uf widerluege!!
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
10 oct. 2004 à 21:07
euh ... dsl de te contrarier, mais je parle allemand toute la journée :D (j'habite quand même a la frontiere allemande en belgique ! :D) enfin bon les suisse et les allemands ont d'autres façons de s'exprimer parfois :D :p (rien contre les suisse !! :X) :D

Ciao ;)
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 oct. 2004 à 19:46
C'est un site de prog ou un site de langue???

Magic... moi en temps que petit-suisse qui ai vécu pas mal de temps dans la partie germanophone de mon pays, je vais pas rentrer dans un débat sur le mot ANWESEND et le mot HIER. Faut sortir du "Wörterbuch" de temps en temps les enfants!!!

HIER se traduit par "présent" dans le langage MILITAIRE... c'est clair que ça veut dire "ici" aussi...

Hochachtungsvoll, Malik7934 ;o)
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
8 oct. 2004 à 19:59
ANWESEND = présent
HIER ici> "je suis ici" par extension

++
Magicalement
Nono.

PS: Malik pour améliorer BFichierTxt , c'est qu'une fonction qui manque?
Peux tu stp y mettre un com sur ce qui manque & peut etre améliorer... (on peux tjs faire mieu, lol)
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
8 oct. 2004 à 09:39
ANWESEND, c'est le mot du dico, HIER, c'est celui qu'on utilise dans le parler (en tous cas en Suisse)

;o)
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
8 oct. 2004 à 09:06
malik, pour de l'allemand ça se voit que c'est de l'allemand, sinon pour une traduction complète tu mets:
"Anwesend - Verstanden" Mais bon à l'armée c'est pas comme ça :D

enfin je c pas mdr jamais fait ^^:p

bon allez bonne prog encore ;)

ciao ;)
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
8 oct. 2004 à 09:00
Salut,
une possibilité assez pour afficher une ligne voulue dans un texte est:
sauvegardé chaque ligne dans un multimap< int, string >, le premier paramètre sera le nombre de la ligne et le deuxième la ligne!

Ce n'est pas trop compliqué, il suffit, lors de la lecture du fichier, d'insérer automatiquement les lignes, une par une, dans le multimap, faisable avec une boucle for( ).

Autre possibilité que le faire lors de la lecture:
lire le fichier entier dans un buffer, ensuite avec une boucle quelconque, lire le buffer, et lorsqu'on tombe sur un '\n' => ajouter ce qui a été lu dans le multimap, etc. (Bien sûr, si tu faits ca n'oublie pas d'effacer ce que tu as lu du buffer après l'avoir stocker dans le multimap!!!)

Ces possibilité sont a appliqué en C++ uniquement, et sont portables, donc assez recommandable, pour utiliser les multimap => #include <multimap>

Ciao ;)

[DmXx]
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 oct. 2004 à 20:59
Yop, c'est de l'allemand: tous ceux qui ont du faire leur armée en Suisse, comme moi, auront entendu cette expression des milliards de fois! Ca veut dire "Présent - Compris!" ;o)
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
4 oct. 2004 à 19:18
"Hier Vestanden DeAtHCrAsH! " ?????

Si c'est de l'allemand je cromprend pas :/

Shell
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 oct. 2004 à 15:03
Ok, Hier Vestanden DeAtHCrAsH!

J'ai modifié le nom... comme je n'ai pas besoin d'une source qui fasse abcsisse/ordonnée, je n'ai pas modifié la source mais le nom!

Thanx, Malik7934
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
4 oct. 2004 à 14:38
Yep malik,

Le titre de ta source est mal choisi, vire le Y mets simplement un truc du genre "AFFICHER LA Xème LIGNE D'UN TEXT".
Parceque quand tu mets XY, on s'attend a ce que le programme extrait les ordonnées mais aussi les abscisses.

Exemple:
//Le texte a traiter
a
b
salut toi!


GetLine(3);
-> Ca retourne "salut toi!".

GetLine(7,3);
-> Ca retourne "toi!"


Voila ou ets l'idée.
Tu peux aussi facillement modifier ton code en incluant les abscisses, ainsi tu n'auras pas a modifier les titre de ta source.

Par exemple a la fin de ta fonction juste avant la MessageBox finale, tu ajoutes :
if(x!=0) {
for(int i=0; i<x; i++)
   szData++;
}


Voila rien de bien compliqué.

A bientot pour une mise a jour.

Shell
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 oct. 2004 à 14:18
Ah ben tiens, t'as raison... le memmove ne sert à rien ici... mais j'ai mis ça pourquoi moi??!! Je vais corriger...
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 oct. 2004 à 12:25
Hello,

Thanx pour l'info sur GetWindowText et je prends note pour le "Release"...

En ce qui concerne le case '\r', ben vu qu'un retour à la ligne c'est "\r\n", je me débarasse du \r, puis je remplace \n par un \0 pour ensuite traîter.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 oct. 2004 à 12:12
Salut malik7934,

GetWindowText(hCtrl,szSrc,nLen);
if(strcmp(szSrc,"") == 0) ...
Pas utile, GetWindowText() retourne longueur lue.

case '\r':
memmove(d,d+1,strlen(d+1)+1);
C'est quoi le but de ce memmove ?

Mets toujours version RELEASE en source, c'est beaucoup moins gros et tout le monde pourra tester.

ciao...
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 oct. 2004 à 11:40
Ecoute nono, je sais que tu as déjà tout vu tout vécu tout fait... tu ne manques jamais de le répéter encore et encore!

Moi je bosse sur un log qui doit sans arrêt ouvrir, lire, traîter des fichiers et j'utilise donc cette source à outrance!

"tu peux rajouter la signification du y ds les com stp"... t'es sérieux avec cette question ou bien s'est juste une vanne!!??
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
4 oct. 2004 à 11:28
mouep

tu peux rajouter la signification du y ds les com stp

car justque là, C afficher la Xieme ligne ...

sinon : Utile pour traîter le contenu de fichiers...
je vois po....
BFichierTxt ds mes srces correspond à cette desc, ce srce... ben...

++Nono.
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 oct. 2004 à 10:28
c'est juste... j'ai fait tou ça un peu à l'arrache... j'vais faire les corrections que tu mentionnes! Thanx!
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
4 oct. 2004 à 10:24
il y a quelques bugs ans la gestion des erreurs et la libération de la mémoire :
- si la chaîne szSrc est vide, tu retourne FALSE sans libérér le pointeur (cette vérif peut meme être faite avant l'allocation de la châine vu que tu as sa longueur.
- si le fichier ne peut être ouvert, ce n'est pas la peine de le fermer avant de retourner.
- si la lecture échoue, il y a un free(szSrc) de trop (la chaîne est libérée juste avant).
Rejoignez-nous