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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 13
    Par défaut
    excusez mon incompétence mais c'est où que je peux trouver de quoi installer une librairie style ncurses?
    Ce n'est donc pas standard?

  13. #13
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 29
    Par défaut
    normalement c'est standard, enfin j'entend coter developpement, en theorie les fonctions ne differe pas entre les differentes versions d'un UNIX a l'autre, ni avec celle de Windows... apres il y a des fonctions propre aux systeme, mais cela reste assez standard au global

  14. #14
    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 miss8
    excusez mon incompétence mais c'est où que je peux trouver de quoi installer une librairie style ncurses?
    Ce n'est donc pas standard?
    la libncurses est standard. Pas mal de logiciel utilise cette librairie. C'est bizarre que tu n'es pas cette lib de base.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Librairies standard pour un projet ARM Cortex M-3
    Par AutomaticS dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 16/09/2011, 09h17
  2. problème avec la librairie standard, code::block + mingw64
    Par Benoit_T dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 22/07/2009, 14h01
  3. Unresolved inclusion des librairies standard
    Par Fused dans le forum Eclipse C & C++
    Réponses: 7
    Dernier message: 26/10/2008, 20h51
  4. [COM] utiliser la librairie standard dans une dll COM
    Par kacedda dans le forum Visual C++
    Réponses: 5
    Dernier message: 13/03/2008, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo