Retourner à la ligne précédente et changer le couleur dans un cin .

Signaler
Messages postés
48
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
23 novembre 2005
-
Messages postés
48
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
23 novembre 2005
-
Salut à tous .

Je programme en C++ et j'aimerais savoir comment revenir une ligne auparevent, le code :
cout << "\b" ;
ne permet pas de passer à la ligne précédente ...

Et aussi, connaissez-vous un moyen de changer la couleur (avec la fonction SetConsoleTextAttribute() ) pendant un cin >> . C'est a dire, que si j'écris "ROUGE", avant de taper entrée, serait il possible de changer la couleur et qu'elle devienne rouge, ou alors "BLEU" en bleu etc...

Merci d'avance à ceux qui voudront bien m'aider :)

Au revoir


MUNER

7 réponses

Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
16 juillet 2007
1
pour ta premiere question.
pour revenir sur la ligne, tu dois faire une boucle qui part de la position jusqu'a ce qu'il rentre le caractere '\n'
ceci est valable bien sur si tu es sur un fichier texte. si du binaire c'est autre chose.
petit exemple qui je l'espere correspond a tes attentes:

i = POSITION_COURANTE_POINTEUR;
while(buffer[i] != '\n') i--;
a la fin de la boucle du sera positionné a la fin de la ligne precedente. tu n'as plus qu'a recuperer tous les caracteres qui precedent le '\n' jusqu'a ce que tu arrive soit sur BOF, soit sur un autre '\n'.

pour la deuxieme question je sais pas du tout.
Messages postés
48
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
23 novembre 2005

Bonjour ebooserge, j'aurais du être plus clair sur ma question : il s'agit en fait de retourner à la ligne précédente dans un programme MS-DOS : exemple :
______________________________

#include

using std::cout ;

int main ()
{
cout << "BONJOUR\n" ; //saute une ligne
cout << "\b" ; //ne retourne pas à la ligne précédente

return 0 ;
}

______________________________

Mais merci quand même d'avoir bien voulu m'aider .

Cordialement


MUNER
Messages postés
137
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
16 juillet 2007
1
ah ok. je pense pas pas que cela soit possible.
cela dit une alternative, en plus d'afficher tes textes sur la sortie standard (la fenetre DOS), serait de rajouter ce meme texte dans un buffer pour pouvoir le manipuler facilement.
sinon je vois pas trop comment le faire
DSL
Messages postés
48
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
23 novembre 2005

ebooserge >> Merci pour ces renseignements, j'espère quand même qu'un jour cela sera possible .

Et si jamais quelqu'un trouve une réponce à ma seconde question, ce serait gentil de me le faire apprendre .

Cordialement


MUNER
Messages postés
48
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
23 novembre 2005

Pour la seconde question, j'ai trouvé comment faire, il suffit de "recréer" cin>>, je ferai un code dont je metterai le lien ici .

Je vous renvoie sur une question qui n'a toujours pas eu de réponce.


MUNER
Messages postés
48
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
23 novembre 2005

Voila, le code promi .
Cordialement .


MUNER
Messages postés
48
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
23 novembre 2005

Le code a été enlevé, n'étant pas opérationnel
Cordialement


MUNER