En supposant qu'il s'agit d'une application console, vous pouvez imprimer de nouvelles lignes 24 fois, ce qui vous place en bas.
La chaîne à imprimer est stockée sur un tableau/vecteur de taille fixe de 81 caractères (\ 0 terminé à la position 81), qui est mis à jour par une routine d'alimentation. Cela peut potentiellement provenir d'une socket, dactylographie, fichier, processus d'appel, etc ...
Au moment de l'alimentation (rappels de minuterie, lorsque le fichier change, tampon de socket non vide, peu importe), vous devez ensuite faire pivoter le texte char à la fois. En supposant que la rotation est de droite à gauche, copiez tous les caractères de 1 (pas 0) jusqu'à 80 à i-1 position précédente. Écrivez le nouveau caractère à la position 80.
L'astuce graphique clé ici serait de terminer votre printf avec \ r au lieu de \ n. \ r est un modificateur pour chariot de retour: le curseur revient à la colonne 0 et ne passe pas à la ligne suivante. Cela permet de réimprimer la même ligne.
Horizontalement ou verticalement? Texte fixe ou texte continuellement changeant? Bibliothèque ISO C uniquement ou une API de console spécifique? Est-ce même une question de console ou une interface graphique? Plus de contexte requis peut-être. – Clifford
Cette question est mal définie et presque impossible à répondre sans un certain contexte, comme le type d'environnement UI dans lequel le programme s'exécute (Unix, Windows, Curses?). Je serais quelque peu surpris de trouver ce genre de question sur le répertoire d'entrevue d'une grande société. –
Oui, c'est une bonne question, car une partie de l'entrevue pourrait être de déterminer la capacité du candidat à interagir avec les utilisateurs de l'entreprise pour aider à clarifier les exigences,! répondre à la question ... – pascal