EFFACER la console, sur MAC, avec Xcode.

Bonjour,

j'ai fait le tour de dizaines de forums, et je n'ai toujours pas trouvé comment effacer la console...
Quelqu'un pourrait m'aider?

#include <iostream>

void clear()
{
    //Commande pour "clear"
}

int main()
{
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "monde";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "LoL";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "allo";
    std::cout << "( ͡° ͜ʖ ͡°)";
    //etc...
    clear();
    //Reste du code
    return 0;
}

Merci pour votre aide...

"Ceci est une signature."

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut AdamDuForum,

    Sous MacOS, le terminal doit, comme sous Linux, implémenter les séquences d'échappement ANSI.

    Donc, à la place de ton commentaire en ligne 5, essaye de mettre ceci :

    std::cout << "\33c\e[3J";


    ce qui devrait réinitialiser le terminal et effacer l'écran, y compris les lignes précédemment affichées qui seraient accessible par l'ascenseur.

    https://en.wikipedia.org/wiki/ANSI_escape_code

    Dal
    1. J'ai testé et ça ne fait qu'écrire:

      c[3J


      Merci quand même pour ton aide...
  2. Contributeur
    Salut,

    L'application terminal par défaut sous MacOS ne semble pas implémenter cette séquence d'échappement.

    Si la commande tput est disponible sur MacOS, essaye :

    tput reset 
    (en ligne de commande)

    Je n'ai pas de Mac sous la main pour tester, je suis sous Linux.

    https://www.unix.com/man-page/osx/1/tput/

    Dal