Je m'en fiche un peu de la mémoire :pEnvoyé par Skyrunner
Serieusement, je trouve que cela fait plus propre et plus "pro".
Je m'en fiche un peu de la mémoire :pEnvoyé par Skyrunner
Serieusement, je trouve que cela fait plus propre et plus "pro".
Ah !!!Envoyé par Kr00pS
Ok.Serieusement, je trouve que cela fait plus propre et plus "pro".
Heureusement qu'il n'exsite pas une fonction isa() isb(), isc()...
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
C'est pour ça que j'avais conseillé d'utiliser isspace()... Mais bon, tu n'as probablement même pas lu mon post... je commence à avoir l'habitude...Envoyé par BnY
http://www.developpez.net/forums/vie...782966#2782966
Oui. Tu vas demander ça pour les 255 autres caractères ?et juste une question bete comme ca: pour ' ', je peux utiliser ceci dans une expression pour le caractère ' ' par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if( chaine[i]==' ') etc..
Pas de Wi-Fi à la maison : CPL
Et ? Ce n'est pas le même usage (teste " \t\r\n"). de plus cette 'fonction' est souvent une macro, ou elle est 'inlined"...Envoyé par Skyrunner
Pas de Wi-Fi à la maison : CPL
Je viens de trouver l'implementation de isspace et elle est plus precise que pour un simple espaceEnvoyé par Kr00pS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #define isspace(c) ({ \ register short __c=(c); \ (__c>=9&&__c<=13)||__c==32; \ })
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
C'est juste, je reconnais voir mon post juste au dessus.Envoyé par Emmanuel Delahaye
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
une implémentation...Envoyé par Skyrunner
Pas de Wi-Fi à la maison : CPL
Remarque, c'est une bonne idée de fonction, je vais essayer de coder ça.Envoyé par Skyrunner
alala... je pense emmanuel que tu es quelqu'un d'aigri... je sais pas pourquoi, si t'as des complexes, que t'es juste énervé tout le temps, que tu t'ennuies ou quoi mais tu ne peux pas t'empecher de me répondre mal...
pour info : evidemment que j'ai lu ton post je les ai tous lu et relu
le isspace, j'y comprenais rien et je pose pas la moitié des questions que je veux poser de peur de me faire lyncher donc j'ai préféré laisser tomber
maintenant que je sais à quoi ca sert, bon je ne sais pas si ca fait plus pro ou pas mais avant de paraitre "pro" j'aimerais juste paraitre "apte à rendre mon projet qui marche"...donc pour l'instant le ' ' m'ira très bien... d'autant qu'apparement:
et moi je ne veux pas de quelquechose qui traite de la même manière un ' ' et un '\t' et un '\n'....Code:
isspace()
vérifie si l'on a un caractère blanc, d'espacement.
Dans les localisations "C" et "POSIX" il s'agit de:
espace, saut de page (form-feed, '\f'), saut de
ligne (newline, '\n'), retour chariot (carriage
return, '\r'), tabulation horizontale ('\t'), et
tabulation verticale ('\v').
et non je ne vais pas demander ca pour les autres caractères je ne savais juste plus si il y avait un truc du genre '\s' comme pour les tab : '\t' et skyrunner m'a gentillement répondu...
...tout comme kroops qui a effectivement repris la meme chose que toi pour les \n sauf que lui sait qu'il s'adresse à un débutant... comme je te l'ai déjà précisé je ne comprenais rien aux #if 0 ( et je ne sais toujours pas ce que c'est malgré ta réponse:
à ce sujet ) et dans son code déjà il n'y en a pas...Parce que #if 0, c'est juste ne pa compiler des bouts de code, mais sans les effacer... Rien de mystérieux. Et puis si tu as des problème, dit le clairement...
peut etre tu me surestimes ( ce dont je doute fortement ) donc mets toi dans la tête que je cherche à avancer tranquilement pas à pas... et qu'il est normal que je ne connaisse pas tout sur tout... mon cerveau n'est pas un disque dur que l'on peut fourguer de 200Go comme ca d'un coup...
tu dois surement être très fort Emmanuel mais tu manques de pédagogie, de patience et d'amabilité dans certains posts, donc :
cool raoul, ca ne sert à rien de s'énerver on reste tous tranquilles, c'est pas la fin du monde et on peut être capables de se parler gentiment, même avec les débutants qui ne comprennent rien à rien comme moi ^^ !! sinon ca ne vaut pas le coup de participer à un forum et tu peux faire prof dans une fac où tout le monde s'en fout et où tu peux rester aigri, répondre mal, te foutre de leur gueule, etc... ton manque de patience
n'en sera pas bousculé...
merci à tous .
Je pense qu'il n'aime pas rabacher les choses, en programmation, il y a une sorte d'autonomie qu'il faut adopter et sur ce point, je le comprends.
Je ne vois pas ce qui te dérange dans la fonction isspace (euh, j'ai pas compris l'histoire de la macro pourtant elle commence bien par int), elle est adaptée à ton cas je trouve.
Explique-moi
PS : Moi aussi je suis débutant
lol oui il n'aime pas rabacher les choses mais il n'a pas à le faire comme dit plus haut la moitié des choses que je ne comprends pas comme le isspace la premiere fois, j'ose pas lui demander de peur qu'il ne me flingue... :p déjà qu'il me répond à plein de questions et qu'il fait plein d'efforts pour moi je dois le reconnaitre..., si en plus je lui annonce que je comprends pas tout dans sa réponse...
bon et sinon pour le isspace ben déjà apparement il considère tous les espaces blancs, non ?? \t, \n, ' ' ...
et moi il est nécessaire que je fasse la différence
Ah !Envoyé par BnY
Tu peux recoder une fonction comme celle la au besoin, ce n'est pas très dur.
Demande-moi si tu bloques et que tu veux des indices !
euhh oui certainement et peut etre qu'un jour je le ferai.. mais après mon projet lol...
pour l'instant je cherche à faire les choses simplement ...
pour te dire tous les conseils de fgets au lieu de scanf qu'ils m'ont tous donné et en particulier Emmanuel, je suis un des seuls à le faire dans ma promo tout ca pasque tout le monde utilise des fonctions qui apparement sont plus dangereuses, pour cause de risque de débordement, sans prendre en compte ces détails...
et eux n'ont pas tous ces problèmes avec les \n et tout que je rencontre, juste parceque je me dis que si des mecs comme Emmanuel me l'ont conseillé c'est bien qu'il y a une raison et autant commencer à prendre cette habitude maintenant...
maintenant c'est pas pour ca que je vais prendre en compte tous les trucs que tout le monde me dit qui sont trop compliqués pour moi... je les apprendrai quand le moment sera venu, i-e quand mon niveau sera meilleur ^^
Envoyé par Emmanuel Delahaye
OK
Neilos
Justement, pour ton projet, tu dois reflechir, si quelque chose te manque, code le.
Cette fonction est très simple et elle est sûrement à ta portée (Tu as un cerveau non ? Tu peux refléchir ).
Je ne vais pas te donner la fonction (enfin pas tout de suite) car je veux te faire chercher sinon tu ne vas pas pouvoir trouver par toi même et tu ne vas pas progresser !
J'étais pareil que toi sur scanf, il y a quelques temps, et maintenant que j'ai vu les avantages de fgets, je n'utilise plus scanf.
Et ce n'est pas parce que tout les gars de ta promo utilisent scanf qu'il faut que tu fasses pareil, justement, montre leur que tu codes _mieux_ qu'eux.
Sinon pour le niveau, je suis au même niveau que toi (voir même inférieur car je suis autodidacte) donc si moi je peux le faire, tu peux le faire
"J'y comprends rien", c'est pas une attitude de combattant...Envoyé par BnY
Je ne t'ai pas déjà dit que quand tu tombais sur une fonction nouvelle, la première chose à faire était
"google man <fonction nouvelle>"
A moins que tu n'ai pas compris ça ?
Personne ne fera le travail d'apprentissage et d'acquisistion de l'expérience à ta place. Ce qu'on essaye de faire, ici, c'est de te secouer un peu pour que tu trouves les solutions toi même. On te donne des pistes, c'est tout. Désolé si on essaye de te faire progresser, mais moi, je suis là pour ça.
Mais tu fais preuve d'une flemme et d'une inertie à toute épreuve, qui vont finir par me décourager.
Enervé ? Oui, je suis énervé par les gens (tu n'es pas le seul) qui attendent tout des autres et qui ne font aucun effort. On dirait que plus on fourni d'aide et de moyens aux gens, plus ils deviennent flemmard. C'est ahurissant.
Dans les années 80, j'ai appris le BASIC, le Pascal et le C tout seul avec des livres. (A l'époque, pas d'Internet, pas d'info à l'école ni au boulot, pas de club info). C'est sûr que ça forme le caractère et que ça apprend à lire les docs...
Mais même avec Internet, il faut aller chercher la doc, apprendre à la lire. Si un point reste obscur, évidemment, tu peux poser une question, mais pas avant d'avoir épuisé les ressources... Qu'on se rende compte qu'au moins tu as fourni un effort. (tu donnes le lien, tu montre la phrase que tu ne comprends pas etc.)
Ok, je comprends un peu tes réticences et j'avoue avoir été un peu dur, mais as-tu au moins cherché des réponses par toi même ? Il n'y a que comme ça que tu progresseras...et je pose pas la moitié des questions que je veux poser de peur de me faire lyncher donc j'ai préféré laisser tomber
Pour le #if.
Les constructions possibles sont :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #if <expression> ... #endif
#if est une directive de compilation. Elle est évalué au tout début de la compilation de la façon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #if <expression> ... #else ... #endif
Si l'expression vaut 0, la suite n'est pas compilée jusquau prochain #endif ou #else. Si il y a une branche #else, elle est compilée
Si l'expression vaut autre chose que 0, la suite est compilée jusquau prochain #endif ou #else. Si il y a une branche #else, elle n'est pas compilée.
Donc si je code
fichier sera remplacé par "data.txt", alors que si lje modifie le 0 en 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #if 0 #define fichier "data.txt" #else #define fichier "test.txt" #endif
fichier sera remplacé par "test.txt"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #if 1 #define fichier "data.txt" #else #define fichier "test.txt" #endif
Pose des questions si tu ne comprends pas.
Pas de Wi-Fi à la maison : CPL
Nous, on enseigne le C professionnel. Si tu veux bricoler, débrouilles toi...Envoyé par BnY
Pas de Wi-Fi à la maison : CPL
wouaa
bon pour le scanf j'ai apparement dû mal m'exprimer vu que vous ne m'avez pas compris tous les deux :
je suis un des seuls à utiliser fgets, selon vos conseils donc justement cela montre que je ne fais pas (que :p) de la débrouillardise lool
j'essaie de progresser mais à mon rythme.
et je nie cette flemme dont tu m'accuses lool : cela fait une semaine que je taffe ca jours et nuits et que j'en suis au meme point... c'est pour ca que j'ai l'air un peu désespéré sur le forum... mais je fais de mon mieux... ou alors je te concède: je suis peut etre bête...
mais bon en tout cas j'ai envie d'apprendre .
la différence entre un site qui explique une fonction et un mec qui l'explique sur un forum c'est que le site ben c'est pas forcément bien expliqué... perso je comprends mieux un cours quand on me l'explique que dans un livre... bon pour le isspace c'est vrai je n'ai pas cherché, mais bon je voyais pas l'intérêt donc je me suis dit bon lui il sert à rien :p:p dsl je reconnais avoir eu tort
mais bon pour l'instant j'insiste pour l'oublier ^^ je veux déjà faire un programme simple qui marche, et ensuite tout reprendre pour améliorer tout plein de trucs... et ce pour 2 raisons:
->ca ne sert à rien que je me lance dans un truc compliqué au possible d'un coup, je me connais je vais m'y perdre et le programme marchera jamais :p
->et comme vous dites la meilleure facon d'apprendre c'est de s'entrainer donc meme si je dois tout repasser après et recoder plein de trucs au moins ca fait de l'entrainement
pour kroops la fonction je la ferais ( enfin j'essaierai ) un peu lpus tard et je l'enverrai au cas ou j'ai des problèmes
sinon merci a toi Emmanuel pour le #if
ayé j'ai compris lol
Mais si tu n'as pas d'autres moyens de faire ce que tu veux, tu es obligé de coder toi même au départ, ça fait 3 posts que je te dis que cette fonction n'est pas compliqué.
La bibliothèque standard elle contient les bases, après il faut se debrouiller pour ensembler tout ça dans tes propres fonctions pour tes propres besoins.
PS : Pour scanf, j'avais bien compris, relis mon post;
Kr00pS
oki oki bon donc on veut la fonction qui retourne 0 si ce n'est pas un espace et 1 sinon :
j'ai bon ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int espace (int caract) { if(caract!=' ') { return 0; } else { return 1; } }
et avec ce que j'ai lu sur fgets dans mon livre:
si elle rencontre un \n elle le met dans le tableau et ajoute en fin de tableau le \0...
donc dans mon code quand je fgets l'avion de l'utilisateur et que je le mets dans avion[] avec la fonction que tu m'as donné clean() je remplace le \n ( qui est rentré en tapant 'entrée' par l'utilisateur, c'est ca ??) par \0... cela fait donc bien deux \0 en fin de tableau ...
donc quand je le compare avec aviontemp dans lequel j'avais fgets l'avion du fichier , si je rajoute un /0 en fin de aviontemp comme je le faisais dans le code au début du topic ca suffit ?? -> puisque fgets met déjà un \0 dans aviontemp et que je lui en rajoute un...
j'ai bon ??
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager