Accueil > Forum > > > > controle de saisie, fgets?
controle de saisie, fgets?
vendredi 21 avril 2006 à 16:22:36 |
controle de saisie, fgets?

val3113
|
Bonjour, pour un travail à l'école je voudrais savoir comment controler qu'une chaine de caractere saisie par l'utilisateur ne dépasse pas le nombre de caracteres disponibles.. J'avais pensé à un truc comme ca: void main() { char nom[20]; do
{ gets(nom); } while(strlen(nom)>20); } Mais malheureusement ca ne marche pas, puis même ca reste genant parceque ca prend beaucoup de place puisque je dois le faire sur pas mal de champs... j'ai entendu dire que la fonction fgets pourrait peut etre m'aider mais je ne m'en suis jamais servi, si quelqu'un peut m'aider je l'en remercie.
|
|
vendredi 21 avril 2006 à 16:50:38 |
Re : controle de saisie, fgets?

ebooserge
|
//tu peux faire un truc de ce genre char nom[20]; char car = '\0';//variable de test memset(nom,car,sizeof(nom));//tu remplis le buffer par des 0 int a=0; car = getchar();//tu recupere le 1er car while(a<sizeof(nom) && car!='\r' && car!='\n')//le \r et le \n c'est pour eviter de récupérer le retour chariot dans ta chaine de car { nom[a]=car; car=getchar(); } printf(nom);
|
|
vendredi 21 avril 2006 à 17:42:52 |
Re : controle de saisie, fgets?

SAKingdom
|
ebooserge> à la place de faire: char nom[20]; char car = '\0';//variable de test memset(nom,car,sizeof(nom));
ceci suffirais: char nom[20]; nom[0] = '\0';
ensuite pour fgets pour la console c'est ceci:
fgets (nom, sizeof(nom), stdin);
c'est important que le flux soit stdin
___________________________________________ Les plus grands esprits trouvent toujours une solution
|
|
vendredi 21 avril 2006 à 19:33:47 |
Re : controle de saisie, fgets?

bayeto
|
Réponse acceptée !
un bémol: attention au sizeof sur un char []; mieux vaut directement entrer la taille du tableau. char nom[20]; *nom = 0; fgets(nom,20,stdin); //peut-etre meme 19... a voir le man de fgets
|
|
vendredi 21 avril 2006 à 22:34:42 |
Re : controle de saisie, fgets?

SAKingdom
|
C'est vrai mais généralement sur un tableau qui n'est pas un paramètre de fonction, ya pas beacoup de danger.
___________________________________________ Les plus grands esprits trouvent toujours une solution
|
|
vendredi 21 avril 2006 à 23:02:55 |
Re : controle de saisie, fgets?

val3113
|
j'regarde tout ca demain soir des que j'ai le temps, merci de votre aide
|
|
lundi 24 avril 2006 à 18:38:21 |
Re : controle de saisie, fgets?

val3113
|
Merci bien ca marche
fgets(nom,20,stdin); // 20 ou sizeof(nom) nom etant un char[20]
Il semblerait cependant que je n'ai pas besoin d'initialiser le 1er caractere de nom à 0 ou \0
Le code que j'ai mis en vert, a lui seul permet de lire le nom, comme gets à lexcepion que si l'utilisateur entre 150 caracteres au lieu de 20, le programme ne plante pas et n'accepte que les 19 (+0 defin de chaîne) premiers caracteres saisis.
Merci de votre aide :)
|
|
Cette discussion est classée dans : aider, controle, saisie, fgets
Répondre à ce message
Sujets en rapport avec ce message
aide saisie [ par cristou ]
salut tous le mondeje suit un etudiant en 2eme anne informatiqueje suit en train de developer un projet (un dictionaire et aide a la saisie )consernan
Controle de saisie en C [ par stiml ]
Bonjour,Afin d'optimiser mon programme je oudrais faire des controle de saisie.Notament lorsque l'utilisateur doit saisir un nombre, vérifier que celu
systeme de controle de camera de surveillance [ par lolobardon ]
Une bonne ame peut-elle m'aider a sortir d'une galere?Je dois developper en C++ un systeme de controle de camera de surveillance et maleheureusement p
comme fgets mais qui se bloque lors de la saisie [ par val3113 ]
Bonjour je suis a la recherche d'une fonction qui ressemblerait à fgets...Je dois saisir un nom de 20 caracteres maximumfgets(nom, 20, stdin);me perme
verifier saisie chiffre et opération en C. [ par dealer2kinder ]
Salut,voila je programme en C sous devC++ et j'aimerais savoir quel fonction me permettrait de savoir si l'utilisateur a bien saisie un chiffre entier
SUR LES BUTTON VISUAL C++ [ par lunatic34 ]
SALUT A TOUS!!!Voila j'ai besoin d'aider car je souhaiterai compter le nombre de fois ke je clique dans un button par exemple:Mon button s'appelle Val
saisie touches clavier ??? [ par RV2931 ]
bonjour,je débute en visual C++, et là, j'utilise les MFC, parce que ça me paraît plus simple, mais je sais que c'est qu'une apparence (cf. Visual Bas
svpp aider moi c urgent [ par midddou ]
salut tt le monde bein voila j'ai trouvé bp de programme interessant mais je suis débutant en C et e veux utiliser des choses simple en mon programme
affichage de saisie avec scanf [ par le_papy ]
bonjour a tous, voila por la fac je dois prograer un jeu de sudoku(je bosse sous linux avec gcc). Jusque la pas trop de probleme, mon projet est fini
[.net c++] besoin d'aide de ymca2003 [ par stgi02 ]
bonsoir ,je vous ai envoyé un mess surMP mais je pense que je n'ai pas su l' envoyer alors si vous passez par ici peut etre que vous pouvez m'aider.j'
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|