Retourner à la ligne précédente et changer le couleur dans un cin .
Muner
Messages postés48Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention23 novembre 2005
-
29 sept. 2005 à 20:19
Muner
Messages postés48Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention23 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 :)
ebooserge
Messages postés137Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention16 juillet 20071 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'.
Muner
Messages postés48Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention23 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 .
ebooserge
Messages postés137Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention16 juillet 20071 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