Mise à jour / rafraîchissement du texte affiché sur le terminal

J’essaie de créer un programme de jeu de vie en C, mais je ne connais pas très bien le processus de mise à jour du résultat affiché sur le terminal.

Ainsi, par exemple, j’aurai un tableau de caractères 2d, où chaque élément contiendra soit un ‘#’, soit un ‘-‘. Je vais imprimer ce tableau sur l’écran, mais plutôt que d’imprimer un nouveau tableau 2d à chaque changement d’état, je souhaite écraser l’ancien tableau du terminal avec le nouvel état.

J’ai cherché des moyens de le faire, mais je n’ai pas eu beaucoup de chance. Le plus proche que j’ai trouvé est un retour chariot dans la fonction printf (\ r), mais j’espère que quelqu’un pourra me dire le meilleur moyen de le faire.

Plus précisément, comment puis-je imprimer un tableau 2D à l’écran, modifier les éléments du tableau et imprimer le nouveau tableau SUR L’ENTREE, en remplaçant l’ancien.

(Certains de ces liens, les extraits de code sont sous Linux et d’autres sous Windows)
Compte tenu de vos questions spécifiques (et en supposant que vous sachiez écrire un tableau dans la console):

1) écrivez le premier tableau.
2) Ensuite, effacez la console (ou écrasez la console)
Quelque chose comme ça:

#include  void main() { system("cls"); } 

Ou écrivez ce qui suit sur stdout: (Linux)

 write(1,"\E[H\E[2J",7); 

C’est ce que / usr / bin / clear fait sauf que cela ne crée pas un autre processus.
Ou les deux:

  void clear_screen() { #ifdef WINDOWS system ( "CLS" ); #else // Assume POSIX system ( "clear" ); #endif } 

Plus d’options ici

3) écrivez le tableau suivant

Vous pouvez essayer quelque chose comme ça:

 #include int main(void) { printf ("#####-----\r"); printf ("-#####----\r"); } 

Pas sûr si j’ai vraiment répondu à votre question. Et si ce n’est pas votre réponse, vous cherchez certainement quelque chose comme des bourses .