De compensation de la sortie d'un programme de terminal sous Linux C
Je veux effacer la sortie d'un programme C produit avec printf consolidés. Je veux effacer une seule ligne, par exemple:
[source]
printf("AAAAAAAAAAAAAA\n");
printf("BBBBBBBBBBBBBB\n");
printf("CCCCCCCCCCCCCC\n");
printf("DDDDDDDDDDDDDD\n");
[terminal]
AAAAAAAAAAAAAA
BBBBBBBBBBBBBB
CCCCCCCCCCCCCC
DDDDDDDDDDDDDD
[J'espère]
AAAAAAAAAAAAAA
BBBBBBBBBBBBBB
CCCCCCCCCCCCCC
Je vais "DDDDDDDDDDDDDD" ligne d'en écrire d'autre de la chaîne.
Je veux juste au-dessus de A, B, C des phrases à gauche.
Seulement clair, D peines de changer l'autre, des phrases, des
sans condition de sortie D peines.
Comment puis-je faire cela?
Vous devez vous connecter pour publier un commentaire.
Il y en a plusieurs façons de supprimer le DDDDDDDDDDDDDD
comme
printf("\033[8;5Hhello"); //Move to (8, 5) and output hello
D'autres commandes:
C'est le meilleur des moyens de contrôle de l'exacte mise en page et le format d'un terminal
\033[8;5Habcd
quels moyens?printf("\033[1A")
pour déplacer une ligne vers le haut.Si vous utilisez X-Terme compatibles (Gnome Terminal inclus), puis imprimer le suivant
ou
où
\033
est le caractère d'échappement dans ASCII et[2J
est l'action spécifique (clair).J'ai essayé de répondre, ce qui est le mieux attendre ici.
commentaire de la dernière ligne ou de les supprimer si vous ne voulez pas l'afficher dans le terminal.
printf("xxxx") est l'instruction utilisée pour l'impression de sortie dans le terminal.