Bonsoir
Pour ma culture G, j'aimerais savoir quelques petites choses...
Comment peut-on traduire en algo "fflush(stdin)", "gets", "strcopy" ?
Merci d'avance![]()
Bonsoir
Pour ma culture G, j'aimerais savoir quelques petites choses...
Comment peut-on traduire en algo "fflush(stdin)", "gets", "strcopy" ?
Merci d'avance![]()
déjà 2 sur 3 on peut pas....
- fflush(stdin) provoque un comportement indéfini (voir la norme)
fflush s'utilise sur un flux de sortie.
la traduction serait : "vider le tampon du flux"
- strcopy n'existe pas, c'est strcpy
l'explication est claire : "copie d'une chaîne de caractère dans une autre"
Quant à gets, d'une part elle est à abandonner au profit de fgets, d'autre part ce serait "récupérer les caractères entrés jusqu'au retour charriot (inclus)"
strlen prend en argument une chaine de caractere et renvoy le nombre de caractere jusqu'à trouver un \0 ( non inclus )
Ex:
dans un buffer :
C O U C O U \0
strlen = 6
En principe, on fait plutôt le contraire... Si tu commences à écrire l'algo (phase 2 : conception) à partir du code (phase 3 : production), tu es mal barré. Ou alors, tu fais de la rétro-conception... Bon courage.
- "fflush(stdin)" : Interdit dans du code portable (comportement indéterminé). Détail d'implémentation. N'apparait pas dans un algorithme.
- "gets" : usage interdit (bug du C) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part INPUT- "strcopy" : n'existe pas. si tu penses à strcpy() : affectation de chaine :
Code : Sélectionner tout - Visualiser dans une fenêtre à part chaine_dest := chaine_src- strlen(chaine) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part LEN chaine
Partager