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

C Discussion :

commandes unix dans un programme C


Sujet :

C

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    52
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Par d�faut commandes unix dans un programme C
    Bonjour!

    Il me semble qu'il est possible d'inserer des commandes Unix dans un programme en C. pouvez vous me clarifier ce point? j'ai lu quelque part sur fflush, system stty??? mais je n'ai pas su � quoi �a seravait exactement et comment les employer.
    Merci

  2. #2
    Membre �clair� Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par d�faut
    Citation Envoy� par thepinguin
    Bonjour!

    Il me semble qu'il est possible d'inserer des commandes Unix dans un programme en C. pouvez vous me clarifier ce point? j'ai lu quelque part sur fflush, system stty??? mais je n'ai pas su � quoi �a seravait exactement et comment les employer.
    Merci
    fflush == vider buffer clavier
    http://c.developpez.com/faq/c/?page=...N_fflush_stdin
    http://c.developpez.com/faq/c/?page=...buffer_clavier

  3. #3
    Membre �m�rite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par d�faut
    Citation Envoy� par miron
    fflush == vider buffer clavier
    J'ai l'impression que tu as lu bien rapidement la FAQ...
    Celle ci dit:
    Il est tr�s fr�quent de rencontrer dans des fichiers sources la ligne

    fflush(stdin);

    afin de vider le buffer clavier encombr� par les restes des saisies pr�c�dentes.
    Toutefois l'utilisation de la fonction fflush() dans ce but est une erreur, en effet la norme ne pr�cise le comportement de fflush() que sur les flux sortants, son effet sur les flux entrants d�pend de l'impl�mentation.

  4. #4
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par miron
    fflush == vider buffer clavier
    C'est fini de dire des b�tises ?

  5. #5
    Membre �clair� Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par d�faut
    Citation Envoy� par Emmanuel Delahaye
    C'est fini de dire des b�tises ?
    Citation de mon cours de C qui m'a �t� enseign� :
    Citation Envoy� par Cours Informatique
    scanf : traitement des caract�res parasites

    Pour se prot�ger, il faut vider le buffer apr�s un scanf au moyen de l'instruction suivante :

    fflush(stdin);

    Cela permet de vider la m�moire tampon des caract�res superflus (comme le caract�re de retour � la ligne).

    Informatique - Programmation proc�durale
    ESTACA - 2�me ann�e cycle pr�paratoire
    Je dis ce que j'ai appris ! D�sol�.

  6. #6
    Membre Expert
    Homme Profil pro
    D�v. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�v. Java & C#
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par d�faut
    ESTACA une �cole � mettre au ban

  7. #7
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par miron
    Citation de mon cours de C qui m'a �t� enseign� :

    Je dis ce que j'ai appris ! D�sol�.
    Et bien c'est faux, c'est tout. Demande � l'auteur de relire la norme.

    Sans compter que tu le sais, car je t'ai d�j� expliqu� 3000 fois comment on fait des entr�es solides en C.

    http://emmanuel-delahaye.developpez.com/inputs.htm

  8. #8
    Membre �clair� Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par d�faut
    Citation Envoy� par Emmanuel Delahaye
    Et bien c'est faux, c'est tout. Demande � l'auteur de relire la norme.
    Ca tombe bien j'ai TP demain !
    Un post comme �a sur comp.lang.c (forum USENET), se termine par :
    ??? What is it ?Ca va etre difficile, je vien juste de payer le semestre !

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par d�faut
    Citation Envoy� par thepinguin
    Bonjour!

    Il me semble qu'il est possible d'inserer des commandes Unix dans un programme en C. pouvez vous me clarifier ce point? j'ai lu quelque part sur fflush, system stty??? mais je n'ai pas su � quoi �a seravait exactement et comment les employer.
    Merci
    Bonjour,

    si vous souhaitez invoquer des commandes shell depuis un programme C, vous pouvez effectivement employer la fonction system().

    Cette fonction est cependant � �viter si votre programme est destin� � devenir Set-UID ou Set-GID (en particulier d'un compte poss�dant des droits �lev�s, comme root), car elle va rechercher la commande pass�e en argument � l'aide du PATH de l'environnement d'appel.

    Pour des applications simples ne n�cessitant pas de privil�ges particuliers, system() peut cependant convenir.

    Si vous souhaitez fournir un flux d'entr�e ou de sortie pour dialoguer avec votre commande, oubliez system(). Je vous renvoie dans ce cas � la fonction POSIX popen()

Discussions similaires

  1. utilisation des commandes shell dans un programme C
    Par rasgueados dans le forum Linux
    R�ponses: 15
    Dernier message: 03/08/2006, 17h25
  2. R�ponses: 22
    Dernier message: 09/12/2005, 21h27
  3. commande shell dans un programme
    Par diefo dans le forum C
    R�ponses: 3
    Dernier message: 15/08/2003, 13h37
  4. R�ponses: 2
    Dernier message: 24/06/2003, 20h31
  5. [langage] Commande DOS dans un programme
    Par Jibees dans le forum Langage
    R�ponses: 15
    Dernier message: 23/04/2003, 12h08

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