Déplacer le curseur de texte à l'écran particulier de coordonnées?
Comment puis-je mettre le curseur à l'endroit voulu sur la console en C ou C++?
Je me souviens d'une fonction appelée gotoxy(x,y)
, mais je pense que sa obsolète. Est-il une alternative?
Qui ne fait pas partie de la norme C ou C++. Vous aurez à utiliser une API. Quel type de curseur faites-vous allusion? La souris? Clavier curseur dans le terminal?
Curseur clavier.
Si vous êtes sous Unix, le
Vous pourriez peut-être essayer quelques-uns de ces suggestions
Je suis en désaccord. La console Windows est parfaitement adaptée à de nombreuses 2D simple texte tâches, et c'est beaucoup plus simple que de coucher avec une bibliothèque multimédia.
Curseur clavier.
Si vous êtes sous Unix, le
curses
ou ncurses
bibliothèque fournit les équipements que vous êtes après.Vous pourriez peut-être essayer quelques-uns de ces suggestions
Je suis en désaccord. La console Windows est parfaitement adaptée à de nombreuses 2D simple texte tâches, et c'est beaucoup plus simple que de coucher avec une bibliothèque multimédia.
OriginalL'auteur user1232138 | 2012-05-01
Vous devez vous connecter pour publier un commentaire.
Utilisation SetConsoleCursorPosition.
Il y a un tas d'autres fonctions dans la même partie de la bibliothèque MSDN. Certains d'entre eux peuvent être utiles.
OriginalL'auteur Harry Johnston
Ni C ni C++ ont aucune notion de l'écran ou de la console; ils ne voient que les flux d'octets, qui n'ont pas de caractéristiques d'affichage. Il y a un certain nombre de tiers Api comme ncurses pour vous aider à le faire.
Si vous voulez un moyen rapide-n-solution sale et le terminal que vous travaillez avec comprend Des séquences d'échappement ANSI, alors vous pouvez faire des choses comme
pour déplacer le curseur sur la ligne et la colonne où le coin supérieur gauche est {1,1}). Vous feriez mieux d'utiliser ncurses, bien que (ou l'équivalent pour votre plate-forme).
OriginalL'auteur John Bode
Dans le cas dont vous parlez, ncurses de la bibliothèque, de la fonction, vous êtes après est
move (row, column)
.OriginalL'auteur Septagram
J'utilise vraiment une méthode simple. Vous n'avez pas trop besoin de savoir ce que d'une POIGNÉE est moins que vous êtes vraiment plongée dans les applications de console, une COORD objet est dans le windows.h bibliothèque standard et dispose de deux données membres entiers X et Y. 0,0) est le coin supérieur gauche et Y augmente à aller en bas de l'écran. Vous pouvez utiliser cette commande, il suffit de continuer à utiliser std::cout<< imprimer ce que vous avez besoin.
OriginalL'auteur T.Mahon
J'ai pensé à cette à mettre le curseur.
À ne plus vous aurez besoin d'hypothèses sur la résolution ou une lib comme ncurses.
Exactement. C'est décalage la sortie par un décalage souhaité. En fait, il le fait en produisant de sortie. Si je me souviens bien, j'ai utilisé quelque chose comme cela pour la table-comme sortie de mise en forme.
Si vous imprimez
\r
et puis aller de l'avant, vous pouvez passer à un arbitraire de la colonne, à droite? Vous ne être en mesure de contrôler la coordonnée Y, si vous saviez la largeur du terminal, depuis la sortie serait naturellement wrap à des intervalles de que. Si cela fonctionne à tous, je voudrais commencer par une\r
ou\n
à assurez-vous que vous êtes à partir de (0,0), et assurez-vous que rien ne s'imprime en même temps.OriginalL'auteur lupz