ok merci pour vos réponses, je v essayer de me débrouiller.
bjone
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....
antp
ça j'en ai aucune idée...
bouteilledo
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.
antp
probablement un problème de buffer en entrée, comme tu l'évoques sur l'autre topic :
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)