IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

R�seau C Discussion :

[librairies standard]slang.h et curses.h


Sujet :

R�seau C

  1. #1
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 13
    Par d�faut [librairies standard]slang.h et curses.h
    Bonjour,

    je me d�bat depuis tout � l'heure avec les librairies standards pour essayer, sans avoir � utiliser les signaux ou utiliser des threads , de g�rer une sortie de boucle infinie sous linux lors de l'appui sur une touche par l'utilisateur...
    J'ai une Mandrake 9.0 et aucune des deux librairies cit�es en titre de ce post n'est reconnue!! : Je commence vraiment � desesp�rer! Surtout que tout le monde a l'air de ne parler que de ces librairies, que ce soit dans les forums de developpez.net ou dans des pages que j'ai trouv� sur le net...!
    Y aurait-il une astuce que je ne connais pas ou un truc qui me permettrait de contourner mon probl�me?

    Je vous remercie d'avance chaleureusement...!

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    104
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 104
    Par d�faut
    bonjour,

    une solution qui vaut ce qu'elle vaut(cad pas grand chose mais bon...)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //configurer le read en mode non bloquant(cad qui n'attend pas l'appuie sur la touche entrer pour passer la main)
     
    char c;
    c=0;
     
    printf("appuyer sur 'q' pour sortir\n");
    while (c != 'q')
    {
      read(0,&c,1);
      usleep(10000);//pour temporiser un peu sinon toutes les autres applis risquent de moins bien marcher :-)
    }
    printf("vous avez appuyé sur 'q'\n");
    bonne chance

  3. #3
    Membre �m�rite
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Par d�faut
    Citation Envoy� par cboun94
    bonjour,

    une solution qui vaut ce qu'elle vaut(cad pas grand chose mais bon...)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //configurer le read en mode non bloquant(cad qui n'attend pas l'appuie sur la touche entrer pour passer la main)
     
    char c;
    c=0;
     
    printf("appuyer sur 'q' pour sortir\n");
    while (c != 'q')
    {
      read(0,&c,1);
      usleep(10000);//pour temporiser un peu sinon toutes les autres applis risquent de moins bien marcher :-)
    }
    printf("vous avez appuyé sur 'q'\n");
    bonne chance
    j'ai fait un poste il y a longtemps.
    fais une recherche sur les mots VMIN VTIME dans le forum C.
    tu devras changer la valeur de VMIN en la mettant � zero.
    de ce faite tu auras un read completement non bloquant

  4. #4
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 13
    Par d�faut
    merci � vous deux! je vais essayer...

  5. #5
    Membre Expert

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Par d�faut
    Quand tu utilises la librairie ncurses, il faut rajouter "-lncurses" � ta ligne de compilation. Sinon, c'est quoi ton erreur ?

    @+ Haypo

  6. #6
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 13
    Par d�faut
    m�me avec -lncurses, �a ne marchait pas...
    L'erreur, c'est que le compilateur me dit qu'il ne reconnait pas ces librairies "ncurses.h" ou "curses.h" ou "lang.h"...

  7. #7
    Membre confirm�
    Inscrit en
    D�cembre 2002
    Messages
    29
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2002
    Messages : 29
    Par d�faut
    un post bien inutile mon cher collegue du dessus

    sinon, nyal a dit :
    de ce faite tu auras un read completement non bloquant
    read est une fonction bloquante me semble-t-il, et il me semble aussi qu'on ne peut rien contre ? enfin j'espere me tromper et qu'il existe une super finte pour contourner ce probleme...

    pour tom probleme miss8, la meilleure solution serais les threads, et tu te creer ton propre petite systeme de semaphores

    PS : j'ai entendu parler de la fonction select un jour, mais je ne me suis jamais pencher dessus, ceci peux peut-etre t'aider

  8. #8
    Membre Expert

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Par d�faut
    Citation Envoy� par miss8
    L'erreur, c'est que le compilateur me dit qu'il ne reconnait pas ces librairies "ncurses.h" ou "curses.h" ou "lang.h"...
    Commence par installer la librairie ncurses

    @+ Haypo

  9. #9
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    104
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 104
    Par d�faut
    Citation Envoy� par Fatalis
    read est une fonction bloquante me semble-t-il, et il me semble aussi qu'on ne peut rien contre ? enfin j'espere me tromper et qu'il existe une super finte pour contourner ce probleme...
    une petite url pour te rassurer et qui peut venir en compl�ment des indications de nyal
    http://www-igm.univ-mlv.fr/~dr/NCS/node165.html

    Citation Envoy� par Fatalis
    PS : j'ai entendu parler de la fonction select un jour, mais je ne me suis jamais pencher dessus, ceci peux peut-etre t'aider
    le select c'est bien pour surveiller plusieurs file descriptor (et donc ca marche aussi pour un), c'est donc surtout utiliser (� ma connaissance) pour les communications r�seaux : un serveur qui doit �couter plein de socket pour savoir qui lui parle...
    En bref ca peut marcher pour des saisies au clavier mais ca m'a l'air plus lourd � mettre en place que la simple utilisation des param�tres VMIN et VTIME : sauf si on aime tuer les mouches au lance rocket :-D

  10. #10
    Membre confirm�
    Inscrit en
    D�cembre 2002
    Messages
    29
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2002
    Messages : 29
    Par d�faut
    hehe, moi j'aime tuer les mouches au lance-roquettes

    sinon merci pour ce lien, j'avoue que je ne savais pas que ceci etais possible, mais toute fois je n'ai jamais reussi a faire fonctionner les termcap sous Windows, et il me semble que VMIN et autres sont des elements de termcap non ?

    enfin merci bien car j'ai appris quelque chose et la quete d'un meilleur savoir n'as pas de prix

  11. #11
    Membre �m�rite
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Par d�faut
    Citation Envoy� par Fatalis
    hehe, moi j'aime tuer les mouches au lance-roquettes

    sinon merci pour ce lien, j'avoue que je ne savais pas que ceci etais possible, mais toute fois je n'ai jamais reussi a faire fonctionner les termcap sous Windows, et il me semble que VMIN et autres sont des elements de termcap non ?
    non pas du tout. ceux ci fait parti du termios. les fonctions termios vont te permettre de controler les ports de communication asynchrone.
    Ceux ci va te permerttre de controler la line discipline.
    Ca ne fait pas parti de la libtermcap. la libtermcap s occupe des capacit�s du terminal.

  12. #12
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    13