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

  FORUM HardWare.fr
  Programmation

  [C] fonction gets() qui ne s'exécute pas dans un switch()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] fonction gets() qui ne s'exécute pas dans un switch()

n°179160
bouteilled​o
Posté le 20-07-2002 à 15:40:38  profilanswer
 

J'ai un petit pb, sur le code suivant j'ai la deuxième fct gets() qui ne marche pas: elle ne s'exécute pas.
voici le code:
 
 
 
include <stdio.h>
#include <conio.c>
#include <string.h>
 
#define len_max 200    //longueur max d'une phrase saisie
 
 
 
 
int main()
{
  char phrase[len_max];                   //phrase saisie par l'utilisateur
  int nCHOIX;                            //choix du menu  (ASCII)
  int display_menu();                   //affichage du menu
  void caracteristiques();             //caractéristiques d'une chaine
 
  gets(phrase);   // CELLE CI S'EXECUTE
 
 
  nCHOIX = display_menu();
  if(nCHOIX != 48)
  {
    clrscr();
    printf("Tapez votre phrase suivie de ENTREE : " );
    gets(phrase);  /CELLE CI, NON (JE RENTRE BIEN DANS LE IF)
 
    switch(nCHOIX)
    {
     case 49: caracteristiques(phrase);
    }
  }
  else return 0;
}
 
 
 
Comprenez vous pourquoi ?
Merci  :hello:


Message édité par bouteilledo le 20-07-2002 à 15:41:25
mood
Publicité
Posté le 20-07-2002 à 15:40:38  profilanswer
 

n°179170
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-07-2002 à 16:34:47  profilanswer
 

probablement un problème de buffer en entrée, comme tu l'évoques sur l'autre topic :
 
http://forum.hardware.fr/forum2.php3?post=23336&cat=10
 
 
(pas besoin de faire plusieurs topics ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°179195
bouteilled​o
Posté le 20-07-2002 à 17:46:01  profilanswer
 

désolé pour avoir fais 2 topic, j'aurrai du rennomer l'autre :)
je recomencerai plus promis  :D  
 
Sinon ct bien ça le probleme, j'avais un caractère \n en mémoire. Il m'a fallut longtemps pour comprendre mais c'est bien rentré.
 
A part ca, connaitrais tu une fonction qui renverrait la taille du buffer stdin ?
Merci encore.

n°179213
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-07-2002 à 18:05:13  profilanswer
 

ça j'en ai aucune idée...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°179219
bjone
Insert booze to continue
Posté le 20-07-2002 à 18:35:48  profilanswer
 

bouteilledo a écrit a écrit :

désolé pour avoir fais 2 topic, j'aurrai du rennomer l'autre :)
je recomencerai plus promis  :D  
 
Sinon ct bien ça le probleme, j'avais un caractère \n en mémoire. Il m'a fallut longtemps pour comprendre mais c'est bien rentré.
 
A part ca, connaitrais tu une fonction qui renverrait la taille du buffer stdin ?
Merci encore.
 




 
il me semble que de mémoire sous unix, les entrées/sorties de haut-niveau ont un buffer de 512 octets (aligné sur la taille d'un secteur physique de dur), mais c'est ptet une connerie....

n°179295
bouteilled​o
Posté le 20-07-2002 à 21:13:03  profilanswer
 

ok merci pour vos réponses, je v essayer de me débrouiller.


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

  [C] fonction gets() qui ne s'exécute pas dans un switch()

 

Sujets relatifs
Créer une fonction de recherche[C++ Builder] Quel .h inclure pour la fonction ROUND ?
fonction javascriptRedimensionner un tableau HTML en fonction d'un layer ??
[ C ] Fonction et char*Création d'un prog qui execute une suite de commande ie
[opengl] probleme avec la fonction glcolor3d[PHP] Comment faire quand on a pas la fonction date('W')
[JS] faire 'attendre' le return d'une fonction[ACCESS] fonction date
Plus de sujets relatifs à : [C] fonction gets() qui ne s'exécute pas dans un switch()


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