begin process at 2012 05 29 15:26:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pb avec gets()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb avec gets()

mercredi 16 juin 2004 à 20:43:30 | pb avec gets()

redbob

J'ai un probleme avec la fonction gets().
Voici mon code:

struct piece temp;
printf("\nReference de la piece : ");
get(temp.ref);
fflush(stdin);
strupr(temp.ref);
printf("\nLibelle : ");
gets(temp.libel);

fflush(stdin);
printf("%s\t%s",temp.ref,temp.libel);
getch();

et ma structure piece:
struct piece
{
char ref[5];
char libel[30];
float pxVente;
int qteStock;
};

Alors le probleme c'est que ma var temp.ref reçoit les 2 gets()
Je sais pas comment faire, alors si quelqu'un pouvait m'aider ce serait vraiment sympa!

Redbob
mercredi 16 juin 2004 à 20:52:24 | Re : pb avec gets()

AlexMAN

Membre Club
Je ne comprends pas ton pb, ta var recoit les 2 gets ? ca veut dire koi ?

Au fait, le fflush(stdin); , tu le fais une fois en entrant ds ta fonction, ca suffit...

++

Alhexman
mercredi 16 juin 2004 à 21:00:59 | Re : pb avec gets()

redbob

Merci d'avoir répondu aussi vite.
En fait ce que j'ai voulu dire, c'est que ma variable temp.ref, au lieu de s'arreter a cinq caractères, reçoit en plus le libellé qui est saisi juste après


Redbob
mercredi 16 juin 2004 à 21:13:00 | Re : pb avec gets()

AlexMAN

Membre Club
gets(temp.ref);
temp.ref[4] = 0;

l'element ref de ta structure, declaré come il l'est, ne permet de stocker ke 4caracteres et le caractere de fin de chaine ('\0' == 0) donc verifie ke tu ne recois pas plus ke 4 caracteres, ds le cas contraire, nésite pas a augmenter la taille de ton tab...mais pense qu'un élément de ton tableau sera tjrs "perdu" du a la presence du caractere de fin de chaine !

Voila ++

Alhexman

mercredi 16 juin 2004 à 21:13:14 | Re : pb avec gets()

djl

fflush(stdin); n'a pas de comportement standard, ca marche sur les compilo de ms (il parait) mais qu'elle est l'interet vu que le code n'est plus standard ?
mercredi 16 juin 2004 à 21:18:51 | Re : pb avec gets()

AlexMAN

Membre Club
fflush(stdin); permet de vider le tampon d'entrée standar donc pkoi pas lutiliser pour etre sur de ne pas recup de la .... ?
mercredi 16 juin 2004 à 21:24:25 | Re : pb avec gets()

djl


non, fflush(stdin) ne fait rien, c'est ecris dans le standard ! à si, ca peut meme planter sur certains systemes !

c'est ecris dans le k&r...
mercredi 16 juin 2004 à 21:37:54 | Re : pb avec gets()

AlexMAN

Membre Club
excuz moi de douter du standard, mais j'ai fait un prog sous TC (donc Borland) et si j'enleve les appels a cette fonction, ben il marche plus, donc au fond, cette fonction agit ...
Et le k&r n'est pas la norme ANSI, c'est mm assez != sur certains points
mercredi 16 juin 2004 à 21:58:33 | Re : pb avec gets()

djl


le k&r est la norme ansi, l'edition 89 à été ecrite pour le standard ansi

fflush sur inputstream peut avoir un effet sur certain compilo, c'est tout

apres tu peux tres bien t'en passer, surtout si tu ve etre portable


Cette discussion est classée dans : printf, temp, ref, piece, gets


Répondre à ce message

Sujets en rapport avec ce message

switch case et gets [ par fab30 ] Bonjour, je travaille avec Dev c++ et lorsque que fait un prog contenant un gets dans un switch case ou dans une fonction appelée depuis un switch cas Probleme socket en telnet [ par tigood42 ] Bonjour,je suis en train d'apprendre le fonctionnement des sockets... J'ai créé un serveur qui accepte les multiconnexions simultanément (et bientot a Installer des fichiers dans temp (Windows/Mac) [ par rouxdesecour ] CoucouVoici mon but : je dois créer des fichiers de log dans le répertoire temporaire d'un poste client. Celui-ci peut être sous Mac ou Windows (pas v Creation d'une liste doubement chainée en C [ par komanetchi ] Bonjour tout le monde,Je viens de commencer a programmer en C.Il faut que je cré une liste doublement chainée et je l'affiche.J'ai pris un code d'inte pb structure + pointeur [ par snake57 ] Bonjour, j'ai un ptit probleme avec un gets qui veux pas passer et je vois pas pourquoi. J'ai pas trop l'habitude d'utiliser des structures dnc le pro affichage tableau de jeu [ par adgle ] Bonjour, J'ai un petit souci sur l'affichage d'un programme en langage C : En fait, dès que je rentre un caractère dans une case, celle ci s'agrandit Erreur que j'ai pas compri [ par belgacemm ] Salut,Ceci est un extrait de mon programme de gérance de contacts.J'ai un fichier dans lequel j'ai entré 4 contatcs .Lorsque j'essaye de l'ouvrir il y erreur de segmentation ? [ par doudou0088 ] Bonjour j'ai une erreur de segmentation lorsque j'éxécute mon programme.Il m'affiche tous les départements en fonction de la lettre seulement pour le problème en c [ par alix46 ] Bonjour, mon programme doit vérifier la validité d'un compte bancaire mais il ne marche pas, on m'a conseillé d'utiliser un tableau mais je n'y arrive calcule pondéeé en c [ par alix46 ] Bonjour, je bloque sur un programme( en c) qui demande les notes obtenues dans un cours ( /20), le stocker dans un vecteur. dans un autres vecteurs l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales