
| Page Précédente 1 2 | |||
| Pseudo | Commentaire | ||
|---|---|---|---|
| Page Précédente 1 2 | |||
jerod212
|
# Posté le 22/02/2009 à 21:34:41 | ||
Vive Xubuntu![]()
|
Et comment on fait si on veut récupérer du texte qui comporte des retour a la ligne, car normalement ces impossible avec cette fonction non? sinon bon travail.
Bonne journée^^! |
||
gladiator.xerox
|
# Posté le 23/04/2009 à 02:55:45 | ||
|
|
c super interessant merci | ||
gladiator.xerox
|
# Posté le 23/04/2009 à 02:59:39 | ||
|
|
je vous remercie infiniment matheo pour ce tuto, je suis encore débutant, et je me demande, ne serait ce pas plus simple d'utiliser une boucle contenant getch() pour la saisie d'une chaine caractère par caractère avec deux conditions d'arrêt, et sans avoir a vider le buffer, comme suit: void lireChaine(char* chaine,int longeurMax)//longeurMax = taille du tableu de char { int i=0; do { chaine[i]=getch(); if(i<longeurMax-1) cprintf("%c",chaine[i]); i++; } while(i<longeurMax&&chaine[i-1]!='\r'); chaine[i-1]='\0'; } l'avantage de cette fonction et de visualiser a l'utilisateur (qui ne connais pas la taille max) sa chaine valide sans surprise. merci encore 20/20 |
||
gladiator.xerox
|
# Posté le 26/04/2009 à 03:41:23 | ||
|
|
ou encore plus efficace | ||
gladiator.xerox
|
# Posté le 26/04/2009 à 03:47:39 | ||
|
|
celle la permet des back space. | ||
gladiator.xerox
|
# Posté le 27/04/2009 à 23:46:53 | ||
|
|
voila le code final perfectionné a l'extrême 5/5:void saisirChaineXerox(char* chaine,int longeurMax)//longeurMax= taille tableau de char { char c; int i=0,x,y; x=wherex(); y=wherey(); do { c=getch(); if(c!='\b'&&i<longeurMax) { chaine[i]=c; gotoxy(x+i,y); if(i<longeurMax-1) cprintf("%c",chaine[i]); i++; } else if (i>0) { i--; gotoxy(x+i,y); cprintf(" "); gotoxy(x+i,y); } } while(c!='\r'); chaine[i]='\0'; } |
||
salima123321
|
# Posté le 17/05/2009 à 00:13:50 | ||
|
|
Bonsoir m@teo, Svp je veux te posé une question. Est-ce qu'il existe en C une fonction prédéfinie qui permit de convertir un caractère a son code ascii? Merci d'avance. |
||
salima123321
|
# Posté le 19/05/2009 à 18:16:15 | ||
|
|
Aucune réponse ! | ||
youyounes
|
# Posté le 24/05/2009 à 13:07:27 | ||
|
|
Est-que on peut recuperer deux nombre par ex 125 on recupere 12.Est-que c'est possible ?
Code : C++
|
||
socket25
|
# Posté le 04/06/2009 à 08:45:37 | ||
|
|
Salut à tous. Pour commencer merci beaucoup pour ce tuto qui m'a permis d'apprendre à programmer. Et ensuite je tiens à préciser que lorsque on crée une variable, par exemple: Citation char var[5]; on peut y stocker maximum 5 caractères. Eh oui 5 et par 4. Parce que j'en avait marre de faire des déclarations du genre: Citation char var[5+1]; et j'ai remarqué que lorsque on met une chaîne de caractères dans cette variable, la première lettre se situe dans la case 0 et pas 1. Donc le caractère de fin \0 sera dans la case 5. Pour ceux qui n'ont pas compris, en gros quand vous créez une variable char de 5 cases par exemple en fait vous avez une variable char de 6 cases. Je vous mets un petit "tableau" pour que vous voyez de vous même comment la chaîne est stockée 0 | 1 | 2 | 3 | 4 | 5 m | a | t | e | o | \0 @+ |
||
Namiro
|
# Posté le 27/06/2009 à 16:02:20 | ||
|
|
C'est pour embêter mon monde mais au tout début du chapitre dans l'introduction il y a une petite faute de frappe ![]() "un peu le" et pas "un peule" merci pour ces super tuto, moi qui ne connaissait rien à la programmation et qui voulais essayer d'en faire, mais je ne savais par ou débuté tellement il y a de choix.Merci beaucoup au Site Du Zéro Il est facile de commencer une guerre Difficile d'y mettre un terme Et impossible d'oublier |
||
funtim78
|
# Posté le 30/06/2009 à 10:20:44 | ||
Que la déesse Elune te protège![]()
études : Supélec |
tres bon tuto comme d'habitude, mais attention, il y a encore une erreur! Quand tu introduis la fonction pour vider le buffer, tu as mis while (c != '\n' || c != EOF) alors aue c'est while (c != '\n' && c != EOF) C'est bien corrige dans les fichiers donnes a la fin, mais quand on copie-colle le code ca ne fonctionne pas
|
||
Lekeau
|
# Posté le 05/07/2009 à 00:33:11 | ||
![]()
|
Lol justement j'allais le préciser car j'avais planter dessus et je me disais "non c'est pas possible que j'arrive encore a confondre || et &&. J'ai demandé sur le forum et finalement on s'est rendu compte de l'erreur ^^. Comme quoi même notre grand mentor et manitou M@teo21 n'est pas invincible ![]() En tout cas, je profite que je poste un commentaire, pour féliciter pour ce tuto complet, détaillé et compréhensible par tous
|
||
chichiri
|
# Posté le 06/07/2009 à 17:55:42 | ||
Viva Lasagna![]()
|
Waw, c'est vrai que ce n'était pas facile mais bon, on a vaincu . J'ai même réussi les exercices tout seul!Code : C
La violence est le dernier refuge de l'incompétence : ménager votre ordi! Un programme ne marche pas.. il fonctionne. Un problème sous Blender, référez-vous au ![]() Sessions photoréalistes du SDZSessions speed modelling du SDZ |
||
Qubs
|
# Posté le 12/09/2009 à 16:32:40 | ||
|
Ville : Crolles |
Voici ma proposition, qui tiens compte du point et de la virgule : Code : C
|
||
Xenons
|
# Posté le 08/10/2009 à 02:08:58 | ||
![]()
|
Tuto toujours aussi clair M@teo21, rien à redire .Voici ma petite contribution, un peu différente mais qui reprend le principe, comme la fonction Lire(), de rentrer en paramètres les variables qui vont être affectées. Code : C
P.S : Dans la continuité on pourrait plutôt faire le remplacement de la virgule par le point en recodant la fonction lire() dans la fonction lireDouble().
Mais bon un peu la flème là ...Et pour ceux qui veulent que le paramètre "longueur" soit la chaîne de caractères réellement récupérés (donc sans le \0), il suffit de remplacer uniquement DANS les accolades des fonctions "longueur" par "(longueur+1)" .« Le savant sait qu'il ignore. » V.H |
||
Xenons
|
# Posté le 08/10/2009 à 17:47:16 | ||
![]()
|
Milles excuses, j'ai codé un peu vite là , j'ai oublié pas moins de trois fois de libérer la mémoire allouée avec les malloc(). Bonjour les fuites de mémoire !!Il faut corriger dans les 2 fonctions lireLong() et lireDouble() en rajoutant avant chaque "return;" : Code : C
Voilà je voudrais améliorer les fonctions que j'ai proposées en faisant une "super fonction" globale
. L'idée serait de n'avoir qu'une fonction pour lire une entrée au clavier et dans les paramètres rajouter, comme dans un scanf, soit "%s", "%d" ou "%f" pour définir le type du résultat attendu. Je suis un peu bloqué car je ne sais pas comment je peux gérer un paramètre dont je ne connais pas le type à l'avance, je sais qu'il existe des fonctions qui ont des prototypes de ce genre : int nomFonction (char *format, ...);Mais j'ai du mal à gérer les paramètres reçus en suite. Je suis preneur pour toutes les explications possibles . Merci d'avance« Le savant sait qu'il ignore. » V.H |
||
boulzz
|
# Posté le 19/12/2009 à 15:37:46 | ||
L'Open Source c'est l'avenir![]()
|
Salut, Euh en lisant, j'ai trouvé une ou deux petites fautes d'orthographe, je sais pas trop où vous les signalez alors je les met là .Citation : Tuto La prochaine fois qu'on appellera scanf, la fonction lira tout seule le mot "Dupont" Citation : Tuto On va donc améliorer notre petite fonction lire et appeler si besoin est une sous-fonction viderBuffer Voilà, peut être que je me trompe, mais je trouve ça bizarre .
|
||
Eti-N
|
# Posté le 10/01/2010 à 18:44:27 | ||
ATTENTION! UN BOULET!![]()
Ville : Challes-les-eaux |
Y a un truc bizarre... J'utilise fgets dans mon code, ça marche et le retour à la ligne automatique ne se fait pas? (bon tant mieux pour moi )Vous savez ce qui se passe? |
||
Ruby-RHOD
|
# Posté le 25/01/2010 à 17:35:08 | ||
|
|
La fonction viderBuffer ne voulait pas fonctionner! Et après moultes essais, c'est en changeant '\n' par "\n" que çà fonctionnait .Petite explication? (sous visual) |
||
Un
|
# Posté le 09/02/2010 à 20:42:21 | ||
Un-1=Zer0![]()
|
Tuto excellent mais je pense avoir un problème avec lireDouble(); J'ai trouvé la fonction moi même et tout mais lorsque j'affiche le nombre retourné j'ai un nombre exorbitant ![]() Ensuite j'ai téléchargé la fonction de mateo et toujours le même problème... Mais bon pas grave, on va dire que c'est un bug
|
||
Le Site du Zéro vous proposera bientôt de nouveaux cours partant de Zéro dans d'autres domaines que l'informatique !

