question de C bateau

Le
moi-meme
je ne suis pas tout à fait où il faut mais c'est une question basique en C
donc tout le monde (ou presque) doit connaître :-))

la fonction getchar permet de lire un caractère sur la console. Mais il
faut taper "entrée" pour pouvoir le lire.

Comment lire un caractère sans bufferisation c'est à dire disponible dès
qu'il est frappé au clavier ?

j'ai essayé un setvbuf avec stdin et _IONBF sans succès. le tamponnage
subsiste.

Je ne vois pas quels mots utiliser pour Gxxx.


Merci pour votre aide.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/52507361$0$2061$426a74cc@news.free.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques Lav!gnotte.
Le #25706022
Le 05/10/2013 22:15, moi-meme a écrit :

Comment lire un caractère sans bufferisation c'est à dire disponible dès
qu'il est frappé au clavier ?



man ioctl

The ioctl() function manipulates the underlying device
parameters of special files. In particular, many operating
characteristics of character special files (e.g., terminals) may be
controlled with ioctl() requests.

J.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Gaëtan PERRIER
Le #25706052
Le 05 Oct 2013 20:15:29 GMT
moi-meme
je ne suis pas tout à fait où il faut mais c'est une question basique en C
donc tout le monde (ou presque) doit connaître :-))

la fonction getchar permet de lire un caractère sur la console. Mais il
faut taper "entrée" pour pouvoir le lire.

Comment lire un caractère sans bufferisation c'est à dire disponible dès
qu'il est frappé au clavier ?

j'ai essayé un setvbuf avec stdin et _IONBF sans succès. le tamponnag e
subsiste.

Je ne vois pas quels mots utiliser pour Gxxx.


Merci pour votre aide.




Il me semble qu'il faut passer le terminal en mode raw mais je ne sais plus
comment faut faire...

Gaëtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
David Prévot
Le #25706062
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2ABKNJWRUPDDWJJNDCRBV
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Salut,

Le 05/10/2013 16:45, Jacques Lav!gnotte. a écrit :

man ioctl

The ioctl() function manipulates the underlying device




$ apt-get install manpages-fr-dev
$ man ioctl
[…]
La fonction ioctl() modifie le comportement des périphé riques
sous‐jacents des fichiers spéciaux. En particulier, de nom‐
breuses caractéristiques des fichiers spéciaux en mo de car‐
actère (par exemple des terminaux) peuvent être contrà ´lées avec
des requêtes ioctl().

Amicalement

David




------enig2ABKNJWRUPDDWJJNDCRBV
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBCAAGBQJSUH7EAAoJEAWMHPlE9r080gYH/ROTKArvPtN63pTZx5Qvy0ci
uLM+aBiug2DUCfqhAly2o4RjfsWb14k39yI8n1VzXhN27Pb7W8pDE451jSfqJ42X
hXMmR5uAaoNpr6SWEerxJ7VFPWrsW4UKl+6X4O2AzgxWZNqEkXpuxQow6PMhjgYs
/ALdQ1nje+wE+RP4mF/lA5PMx4ISfVpbqmrfsHVbUcy8iRY5kZk68nkPUzQPCcVu
xLBeHlyVGTVExNSXMgux1lmG60H17frC8UyujuRo0pGtuyf8u/MKPKm1vy316PqD
0wUUlyVUZFD4nXkYzQXP/hGdPJUqXK+yQwSjfRTK+z+vO2IrT9RCih/Ac3LKeUA =Y3LH
-----END PGP SIGNATURE-----

------enig2ABKNJWRUPDDWJJNDCRBV--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/l2pusg$heb$
Gaëtan PERRIER
Le #25706072
Le Sat, 5 Oct 2013 23:08:36 +0200
Gaëtan PERRIER
Le 05 Oct 2013 20:15:29 GMT
moi-meme
> je ne suis pas tout à fait où il faut mais c'est une question basiq ue en C
> donc tout le monde (ou presque) doit connaître :-))
>
> la fonction getchar permet de lire un caractère sur la console. Mais il
> faut taper "entrée" pour pouvoir le lire.
>
> Comment lire un caractère sans bufferisation c'est à dire disponibl e dès
> qu'il est frappé au clavier ?
>
> j'ai essayé un setvbuf avec stdin et _IONBF sans succès. le tamponn age
> subsiste.
>
> Je ne vois pas quels mots utiliser pour Gxxx.
>
>
> Merci pour votre aide.
>

Il me semble qu'il faut passer le terminal en mode raw mais je ne sais pl us
comment faut faire...




Une méthode pour passer en raw est décrite ici:

Mais il y en a d'autres.

Gaëtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
moi-meme
Le #25706252
Le Sat, 05 Oct 2013 22:40:02 +0200, moi-meme a écrit :

je ne suis pas tout à fait où il faut mais c'est une question basique en
C donc tout le monde (ou presque) doit connaître :-))

la fonction getchar permet de lire un caractère sur la console. Mais il
faut taper "entrée" pour pouvoir le lire.

Comment lire un caractère sans bufferisation c'est à dire disponible dès
qu'il est frappé au clavier ?

j'ai essayé un setvbuf avec stdin et _IONBF sans succès. le tamponnage
subsiste.

Je ne vois pas quels mots utiliser pour Gxxx.


Merci pour votre aide.



merci à tous pour les tuyaux (pistes ?) et pour l'URL.

Il faut que je digère.

[HS] dommage que getch n'existe pas sous UNIX:-((

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/5250ffaf$0$2055$
Publicité
Poster une réponse
Anonyme