EFFACER la console, sur MAC, avec Xcode.

Fermé
AdamDuForum Messages postés 15 Date d'inscription lundi 26 août 2019 Statut Membre Dernière intervention 19 décembre 2019 - Modifié le 19 déc. 2019 à 23:01
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 21 avril 2020 à 09:58
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...

A voir également:

2 réponses

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 20 déc. 2019 à 09:43
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
2
J'ai testé et ça ne fait qu'écrire:

c


Merci quand même pour ton aide...
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 21 avril 2020 à 09:58
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
1