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

Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005 - 29 sept. 2005 à 20:19
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005 - 23 oct. 2005 à 13:39
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

ebooserge Messages postés 137 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 16 juillet 2007 1
29 sept. 2005 à 21:31
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.
0
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005
30 sept. 2005 à 18:40
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
0
ebooserge Messages postés 137 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 16 juillet 2007 1
30 sept. 2005 à 19:37
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
0
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005
30 sept. 2005 à 19:53
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005
8 oct. 2005 à 14:48
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
0
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005
22 oct. 2005 à 16:31
Voila, le code promi .
Cordialement .


MUNER
0
Muner Messages postés 48 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 23 novembre 2005
23 oct. 2005 à 13:39
Le code a été enlevé, n'étant pas opérationnel
Cordialement


MUNER
0
Rejoignez-nous