fonction gets() qui ne s'exécute pas dans un switch() [C] - Programmation
Marsh Posté le 20-07-2002 à 16:34:47
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
Marsh Posté le 20-07-2002 à 17:46:01
désolé pour avoir fais 2 topic, j'aurrai du rennomer l'autre
je recomencerai plus promis
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.
Marsh Posté le 20-07-2002 à 18:05:13
ça j'en ai aucune idée...
Marsh Posté le 20-07-2002 à 18:35:48
bouteilledo a écrit a écrit : désolé pour avoir fais 2 topic, j'aurrai du rennomer l'autre je recomencerai plus promis 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....
Marsh Posté le 20-07-2002 à 21:13:03
ok merci pour vos réponses, je v essayer de me débrouiller.
Marsh Posté le 20-07-2002 à 15:40:38
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
Message édité par bouteilledo le 20-07-2002 à 15:41:25