Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
445 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [Unix] Nombre de colonnes d'un terminal

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Unix] Nombre de colonnes d'un terminal

n°1028856
deather2
Posté le 29-03-2005 à 18:33:21  profilanswer
 

Bonjour,
J'écris actuellement un programme en C (pas de C++, attention), et j'aurais besoin de connaitre le nombre de colonnes du terminal. Je sais le faire avec ncurses (getmaxyx), mais là c'est sans ncurses... J'ai jeté un oeil du coté de ioctl(), mais la page man fais peur :D
Je précise que je dois trouver un truc compatible Linux, NetBSD, et Solaris si possible.
Merci :)

mood
Publicité
Posté le 29-03-2005 à 18:33:21  profilanswer
 

n°1028864
push
/dev/random
Posté le 29-03-2005 à 18:43:18  profilanswer
 

man terminfo ?
 
edit: ça va pas t'aider je crois :/


Message édité par push le 29-03-2005 à 18:48:47
n°1028880
deather2
Posté le 29-03-2005 à 18:57:54  profilanswer
 

y'a des trucs intéressant, mais ça parle pas mal de curses et il disent même d'include curses.h, ça me botte guère.
Y'a pas un autre moyen ?
On m'a parlé de man 4 tty, j'ai regardé dedans, mais bon sous Linux y'a que dalle dedans, sous NetBSD c'est presque aussi long que la man page de gcc :whistle:
 
Merci quand même :)

n°1029008
deather2
Posté le 29-03-2005 à 21:14:39  profilanswer
 

Up :sweat:

n°1029090
deather2
Posté le 29-03-2005 à 22:23:57  profilanswer
 

Voilà, je sais désormais comment faire:

Code :
  1. #include <sys/ioctl.h>
  2. #include <termios.h>
  3. struct winsize ws;
  4. ioctl(1, TIOCGWINSZ, &ws);
  5. printf("Cols: %i\n", ws.ws_col);


 
Merci à ix de #debian :)

n°1029099
Deadog
Dain Bramaged
Posté le 29-03-2005 à 22:29:32  profilanswer
 

ct indiqué dans "man console_ioctl" ou "man tty_ioctl", je sais plus ;)


Message édité par Deadog le 29-03-2005 à 22:30:36
n°1029105
Deadog
Dain Bramaged
Posté le 29-03-2005 à 22:31:23  profilanswer
 

ah voila :
 

Get and Set Window Size
       Window sizes are kept in the kernel, but not used by the kernel (except in the case of virtual consoles, where the kernel will  update
       the window size when the size of the virtual console changes, e.g. by loading a new font).
 
       TIOCGWINSZ     struct winsize *argp
              Get window size.
 
       TIOCSWINSZ     const struct winsize *argp
              Set window size.
 
       The struct used by these ioctls is defined as
 
       struct winsize {
               unsigned short ws_row;
               unsigned short ws_col;
               unsigned short ws_xpixel;   /* unused */
               unsigned short ws_ypixel;   /* unused */
       };
 
       When the window size changes, a SIGWINCH signal is sent to the foreground process group.


 
 
:)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [Unix] Nombre de colonnes d'un terminal

 

Sujets relatifs
Fonction à nombre paramètres variablesnombre de lignes dans un fichier
Postgresql : compte du nombre de resultat si pas de LIMIT (how to?)[C#] connaitre le nombre de ligne sans parcourir fichier
Tronquer un nombre sous Matlabcomment tester si un nombre est un entier
Convertir un prog C++ Unix en Prog Visuql C++ sous Windows[PHP] Nombre en tableau de chiffres
Comparer 2 colonnes sous excelAidez-moi Macro Excel comparer 2 colonnes
Plus de sujets relatifs à : [Unix] Nombre de colonnes d'un terminal


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR