begin process at 2012 05 28 22:20:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

conio.h -> getch() & clrscr()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conio.h -> getch() & clrscr()

mardi 14 juin 2011 à 21:54:51 | conio.h -> getch() & clrscr()

icyam

Bonjour,

Je me suis amuser a faire un petit programme console en c++ qui tourne très bien sous Win32. J'ai ecris ce programme avec C++ Builder et j'aimerai le faire trouner sur Linux et MacOs.

Après avoir convertie mon projet Builder en projet Code::Block sous Mac et puis sous Linux je rencontre un problème de library... En effet j'utilise dans mon programme les fonctions getch() & clrscr() et je n'arrive pas à les integrer sous Linux ou Mac car je ne trouve pas un lib conio.h ou équivalant.

je remplace bien mon getch() par un getchar() mais cela m'enléve les possibilités de controle de la touche frappée au clavier...

qq1 a t'il une solution ?

Merci par avance..


Alexandre Andrieu
http://www.icyam.com
mercredi 15 juin 2011 à 09:10:23 | Re : conio.h -> getch() & clrscr()

buno

Administrateur CodeS-SourceS
Hello,
Conio n'est pas standard. Il faut préférer stdlib.
Pour effacer la console, essaie plutôt
Code C/C++ :
system("cls");

ou
Code C/C++ :
system("clear");


En quoi getchar() t'empêches de faire des contrôles?
Code C/C++ :
#include <stdio.h>

int main ()
{
  char c;
  puts ("Enter text. Include a dot ('.') in a sentence to exit:");
  do {
    c=getchar();
    putchar (c);
  } while (c != '.');
  return 0;
}


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 15 juin 2011 à 14:13:24 | Re : conio.h -> getch() & clrscr()

CptPingu

Administrateur CodeS-SourceS
Si tu pouvais éviter de faire du getch ou du clrscr, ça serait vraiment mieux...
Un terminal a vocation a écrire du texte, et c'est tout. Si tu veux maîtriser la position d'affichage, c'est une application graphique qu'il te faut (mode fenêtré ou ncurse pour du graphique console).

Néanoinms, j'avais codé un équivalent de getch pour Linux, qui devrait t'intéresser:
Le voici:
Code C/C++ :
#include <termios.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

struct termios g_term_conf;

int unix_getch()
{
  struct termios newt;
  int ch;

  newt = g_term_conf;
  newt.c_lflag &= ~(ICANON);
  tcsetattr(STDIN_FILENO, TCSANOW, &newt);
  ch = getchar();
  tcsetattr(STDIN_FILENO, TCSANOW, &g_term_conf);
  return ch;
}

int main(void)
{
  int i = 0;
  char line[21] = {0};
  tcgetattr(STDIN_FILENO, &g_term_conf);

  printf("Hello world!\n");
  while (i < 20)
  {
    line[i] = unix_getch();
    ++i;
  }

  printf("\nLa ligne vaut %s\n", line);
  return 0;
}


Explications ici:
http://www.cppfrance.com/forum/sujet-BOUCLE-NE-MARCHE-PAS_1515714.aspx

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
mercredi 15 juin 2011 à 20:25:48 | Re : conio.h -> getch() & clrscr()

icyam

Bonsoir,

Je vous remercie tout les deux... je vais essayer de remanier mon code sans getch() ou avec un équivalent ton équivalent sous Unix/Linux qui je le suppose doit fonctionner sous MacOs également...

Merci


Alexandre Andrieu
http://www.icyam.com


Cette discussion est classée dans : programme, linux, getch, conio, clrscr


Répondre à ce message

Sujets en rapport avec ce message

portage Linux vers visual C++ [ par acsx ] Salut,J'ai un programme écrit en C sous Linux et je souhaite le faire tourner sous Visual C++ 6.0 sous Windows.J'ai donc créé un projet win32 et intég getch() sous Linux [ par yapud ] Bonjour,J'ai un probleme avec la fonction gecth() se trouvant danc la librairie CURSES.H sous LINUX !J'utilise cette meme fonction sous WINDOWS qui ma compilation c++ sous linux [ par marco2009 ] voila je commence a programmer en cpp et lorsque j'essaye de compile avec la console en utilisant gcc ca marche pour les programme ecrit en c mais po clrscr(); et gotoxy(); dans conio.h ? [ par laurentl2000 ] Bonjour, Je suis débutant en C++ et j'ai pêché un cours sur Internet... Je suis au chapitre 2 sur 7... Voici mon problème : Je dois employer les fonct équivalent de conio.h pour kbhit() sous linux ? [ par capunk ] J'ai posé une question un peu plus loin "comment gérer un sleep et une saisie en meme temps". on m'a dit d'utiliser kbhit() de la la librairie conio Un getch() qui n'interrompt pas le programme [ par NNeeoo ] Comment récupérer le code ascii d'une touche sans interrompre le programme ? (cf le titre ...) allegro => getch() pour souris [ par Djedie ] j utilise allegro sous dev cpp, et je voudrai que mon programme attente le clic de la souris pour continuer.comme avec le getch() pour le clavier.en f comment créer une interface graphique simplement pour un programme en C sous linux [ par zarzar ] bonjourje dois écrire un programme de traitement d'image BMP en C sous linux qui pour l'instant doit tourner en "ligne de commande"j'ai des fonctions Comment changer de répertoire avec un programme c++ sur linux [ par mathsunn01 ] Bonjour! J'aimerai creer un programme qui me permettrai de changer de répertoire dans un terminal linux (comme la commande cd).J'ai fé une recherche s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales