Salut !
Si je comprends bien, le contenu de ton fichier .hex est sotcké dans
une chaîne de caractère (de toute façon, si ce n'est pas le cas, tu peux faire en sorte :)
Il suffit donc de jouer avec les pointeurs de chaînes : Je suppose que la chaîne
sz_hex est
définie et contient les données à afficher, et se termine par un
caractère null. Tu peux alors définir un autre pointeur, qui va
"avancer" le long de la chaîne et un entier qui contiendra la position
depuis les derniers deux points, et qui reviendra à 0 lorsqu'il
rencontrera à nouveau les deux points.
char* sz_points_pos = sz_hex;
int pos_cur = 0;
il suffit maintenant de faire une boucle while, jusqu'à la fin de la chaîne (caractère null)
while(sz_points_pos[pos_cur]!=NULL)
{
if(sz_points_pos[pos_cur+1]==':' ||
sz_points_pos[pos_cur+1]==NULL)
{ //':' suivants trouvés ou fin de chaîne
if(pos_cur!= 0) //affichage de la chaîne si pas vide
//(hors deux points)
{
//ICI : définition du hdc si pas déjà fait,
//modification de pos_x et pos_y pour la nouvelle ligne
TextOut(hdc,
pos_x, pos_y,
sz_points_pos,
pos_cur+1
);
}
//déplace le pointeur à la position des deux points suivants
sz_points_pos = &sz_points_pos[pos_cur+1];
pos_cur = 0; //nouvelle chaîne
} else {
//sinon, incrémente la longueur de la séquence
pos_cur++;
}
}
Cette boucle doit fonctionner, mais probablement peut-elle être optimisée
en utilisant les fonctions de manipulations de chaînes contenues dans
le header string.h (fonctions de recherche de caractère, etc.) : c'est
juste pour donner un points de départ fonctionnel (et puis j'ai la flemme de
regarder la doc

- et je vais pas tout faire à ta place non plus :)
bye
-- Virtual Dust --