CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Aide] Effacer l'écran en C++

Zephiel
Zephiel
Niveau 10
30 août 2006 à 20:50:26

Salut, je voudrai connaitre la syntaxe qui sert à effacé le contenue de l´écran (texte) en mode conso en C++

Merci :)

Pseudo supprimé
Pseudo supprimé 31 août 2006 à 08:13:22

Je me demande si la séquence d´échappement utilisée est standard ou dépendante de l´OS et du terminal.

The_Dragon5
The_Dragon5
Niveau 5
31 août 2006 à 09:58:02

Je crois bien que pour effacer l ecran en console faut ecrir ça : system ("cls");

Zephiel
Zephiel
Niveau 10
31 août 2006 à 10:36:29

Merci The_Dragon5 c´est ça :ok:

Tueur2Legumes
Tueur2Legumes
Niveau 4
31 août 2006 à 11:33:17

En même temps c´est pas portable, ça pue quoi ^^

Je pense que tu peux utiliser un remplacement portable (mais un peu moins efficace) :

void clear_screen(void)
{
int i;
for (i = 0; i < 25; ++i)
printf("\n");
}

godrik
godrik
Niveau 30
31 août 2006 à 12:03:15

Tueur2Legumes, tu suppose que le terminal fait 25 lignes, alors qu´il pourrait en faire plus.

Hitman, oui je penses que la séquences dépends du type de terminal et il faut faire attention. ^L sous linux vide le terminal mais c´est ici le shell (bash en l´occurence) qui fait le travail.

En bref, je ne sais pas. Mais il me semble qu´il y avait eu une mini lib de de terminal présenté ici.

DantePC
DantePC
Niveau 10
31 août 2006 à 12:23:07

http://c.developpez.com/faq/c/?page=clavier_ecran#SCREEN_clear_screen

A tester

Fvirtman
Fvirtman
Niveau 10
31 août 2006 à 12:24:32

Je pense qu´on ne peut pas faire portable pour la console.
En effet, tout ce que "connait" le langage C, c´est stdout -> pour lui, c´est un flux ou il envoie des données.
en interne, le langage ne "sait pas" qu´il écrit sur une console.

C´est l´OS qui recupere ce flux et le met ou il veut.
A partir de ce raisonnement, on voit qu´on ne peut pas avoir une fonction C portable pour ça.
ça dépend de l´OS.

Donc les solutions sont des fonctions qui parlent directement au systeme, donc pas portables.
y´a system("cls"); pour parler au bash (MS DOS ou Bash Unix, ou je ne sais quoi...)

Sous Windows, tu as des fonctions pour ça (voir mon tuto B.3, cf ma carte), celle qui efface l´écran n´est pas présentée, mais elle doit se trouver dans la meme famille.

Apres, il existe des librairies NON PORTABLES, comme conio ou ncurses.

Tueur2Legumes > ta fonction est un bricolage, déja, comme dit godrik, tu considers a tort qu´une console fait toujours 25 lignes, mais moi je vois surtout un autre soucis :
au prochain printf, la phrase s´écrira en bas de la console (certes, ça scrollera par la suite). Mais bon, c´est une solution aussi :-)

dnob700
dnob700
Niveau 10
31 août 2006 à 13:02:43

zephiel : là je passe un peu tard, mais je t´ais déjà demandé de ne pas faire de UP sur tes topics (même si tu réécrit toute une phrases du genre "personne ne sait ?" ).

ça ne sert strictement à rien vu que les topic descende très doucement.

la prochaine fois j´effacerais ton topic plutôt que le message en question.

Zephiel
Zephiel
Niveau 10
31 août 2006 à 16:14:04

Ah non tu me l´as jamais demandé... :)

Sauf à présent là...

godrik
godrik
Niveau 30
31 août 2006 à 16:25:56

bon tu dois pouvoir t´en sortir avec:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/getconsolescreenbufferinfo.asp
pour recuperer la taille de la console
et
http://perso.numericable.fr/~fvirtman/info/tuto/B_03_colortext.cpp
pour ecrire un espace sur toute les case du buffer.
C´est peut etre bourrin, mais ca doit marcher...

Zephiel
Zephiel
Niveau 10
31 août 2006 à 17:41:29

Merci mais je m´en sort très bien avec le
: system ("clr"); :ok:

Je suis pas en train d´écrire un programme pour la NASA, juste un petit truc de calculs mathématiques ... XD

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment