TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : 1 | |||||||
| Auteur | Message | ||||||
|---|---|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||||||
| Page : 1 | |||||||
beegees
|
# Posté le 12/05/2008 à 16:12:08 | ||||||
|
Groupe : Membres |
Bonjour,
J'aimerais qu'un visiteur entre une donnée et que cette donnée soit enregistrée dans une variable. Avec C j'ai utilisé scanf. Peut-on encore l'utiliser avec C++ Si oui, sauriez-vous me donner un exemple d'utilisation : scanf(const char*,...) ça, ça doit être le prototype. J'ai fais ceci : Code : C++
mais j'obtiens ce message d'erreur : Citation : VC++6 'initializing' : cannot convert from 'int' to 'const char *' Merci d'avance. beegees
Édité
le 12/05/2008 à 16:17:26
par beegees
|
||||||
NoHaR
|
# Posté le 12/05/2008 à 16:23:11 | ||||||
Wakarimashita yo![]() Groupe : Membres |
Code : C++
Edit : correction d'une erreur de 2 grosses bourdes plus grosses que moi dans un code qui ne fait pourtant que 4 lignes. ... Si ça continue comme ça j'vais m'pendre...
Édité
le 12/05/2008 à 18:26:15
par NoHaR
![]() Mon Tutoriel : Vision par Ordinateur Avancement : ...débordé... mais promis, ça arrive !! |
||||||
beegees
|
# Posté le 12/05/2008 à 16:38:54 | ||||||
|
Groupe : Membres |
Citation : NoHaR
Code : C++
Salut, Merci beaucoup pour ta réponse. ça fonctionne. Encore merci. beegees |
||||||
iNaKoll
|
# Posté le 12/05/2008 à 16:57:37 | ||||||
Grosso merdo![]() Groupe : Membres |
Bonjour,
beegees > scanf fonctionne de la même manière en C et en C++. scanf fait partie de la bibliothèque standard du C qui est aussi inclue dans la bibliothèque standard du C++. Pour accèder à scanf, il faut en C++ normalement inclure cstdio : Code : C++
NoHaR > j'ai comme l'impression que tu as besoin de réviser les entrées/sorties en C++ autant que beegees à besoin de les réviser en C. ce n'est pas : Code : C++
mais : Code : C++
"La constante de couplage est fonction d'une certaine valeur constante que prend le champ scalaire des dilatations dans le vide quantique." |
||||||
beegees
|
# Posté le 12/05/2008 à 16:59:32 | ||||||
|
Groupe : Membres |
Merci beaucoup iNaKoll,
s'est bien gentil. Bon Lundi. beegees |
||||||
NoHaR
|
# Posté le 12/05/2008 à 17:05:34 | ||||||
Wakarimashita yo![]() Groupe : Membres |
LOL ! Oui en effet !
Désolé .![]() Mon Tutoriel : Vision par Ordinateur Avancement : ...débordé... mais promis, ça arrive !! |
||||||
lmghs
|
# Posté le 12/05/2008 à 17:29:38 | ||||||
|
Groupe : Membres |
Personne n'est choqué par les lectures dans des zones non réservées ? Lectures qui déborderaient en plus ...
Il serait temps d'oublier les char*. |
||||||
beegees
|
# Posté le 12/05/2008 à 17:32:19 | ||||||
|
Groupe : Membres |
je vais l'oublier, laisse moi 3 semaines.
Merci pour la remarque |
||||||
iNaKoll
|
# Posté le 12/05/2008 à 17:41:53 | ||||||
Grosso merdo![]() Groupe : Membres |
Citation : lmghs
Personne n'est choqué par les lectures dans des zones non réservées ? Lectures qui déborderaient en plus ... Il serait temps d'oublier les char*. Effectivement ! Maintenant que tu le dis, c'est sur que ça fait froid dans le dos mais pour ma défense je dirais que le choc des deux premiers messages à été trop violent pour que je ne remarque ce "détail". ![]() beegees > n'essaye pas d'aller plus vite que la musique, tu as du louper un ou deux chapitre du cours de C++ de Mateo... La lecture des chapitres 2 et 5 de la première partie te ferait à mon avis le plus grand bien !
Édité
le 12/05/2008 à 17:44:05
par iNaKoll
"La constante de couplage est fonction d'une certaine valeur constante que prend le champ scalaire des dilatations dans le vide quantique." |
||||||
NoHaR
|
# Posté le 12/05/2008 à 18:23:53 | ||||||
Wakarimashita yo![]() Groupe : Membres |
Mea culpa, j'ai simplement pris son code pour le transformer tel quel sans réfléchir, et en écrivant une connerie de surcroit, et j'ai tapé mon truc beaucoup trop vite, sans utiliser de strings ou de choses du genre.
C'est anti-pédago, je sais. Tant pis, maintenant que la honte est abattue sur moi pour 3 générations suite à ce code, une de plus ou une de moins... 'pouvez m'achever -_- (le pire, c'est que j'utilise C++ tous les jours au taf !!) Moralité : qui qu'on soit, on n'est jamais à l'abris d'un gros moment d'absence. ![]() Mon Tutoriel : Vision par Ordinateur Avancement : ...débordé... mais promis, ça arrive !! |
||||||
beegees
|
# Posté le 12/05/2008 à 18:28:24 | ||||||
|
Groupe : Membres |
Citation : NoHaR
Mea culpa, j'ai simplement pris son code pour le transformer tel quel sans réfléchir, et en écrivant une connerie de surcroit, et j'ai tapé mon truc beaucoup trop vite, sans utiliser de strings ou de choses du genre. C'est anti-pédago, je sais. Tant pis, maintenant que la honte est abattue sur moi pour 3 générations suite à ce code, une de plus ou une de moins... 'pouvez m'achever -_- (le pire, c'est que j'utilise C++ tous les jours au taf !!) Moralité : qui qu'on soit, on n'est jamais à l'abris d'un gros moment d'absence. T'as voulu aider quelqu'un et t'as fait une erreur d'inatention. Je trouve que le jugement est un peu dur ! Je ne me cherche pas d'excuse mais si je programme comme ça s'est parce que notre prof nous apprend comme ça, s'est eux qui devrait faire un peu plus attention. ça ne sert à rien de vous acharner sur nous, pour ma part, ça fais trois jours que je suis occupé sur ce C++, trois jours que je n'ai pas mis le nez dehors, vous avez vu le soleil, pouf |
||||||
NoHaR
|
# Posté le 12/05/2008 à 18:34:27 | ||||||
Wakarimashita yo![]() Groupe : Membres |
Bah, parti d'un bon sentiment ou pas :
déclarer un char* sans l'allouer, ainsi que la bourde d'après avec cin... ça tient de l'erreur qu'on fait quand on débute et qu'on n'a jamais encore vraiment fait de C++. Qu'un débutant la fasse et qu'on le renvoie vers le cours, passe encore je veux dire. Mais avec un bac+5 en informatique, faut avouer que ça laisse très sérieusement à douter de mes compétences. Donc oui, effectivement, ils ont un jugement très dur (en ce qui me concerne) et ils ont bien raison .![]() Mon Tutoriel : Vision par Ordinateur Avancement : ...débordé... mais promis, ça arrive !! |
||||||
beegees
|
# Posté le 12/05/2008 à 18:58:50 | ||||||
|
Groupe : Membres |
quoi qu'il en soit, quoi que nous ayons fait, un forum n'est pas là pour juger les gens mais pour les aider, si ils n'ont pas envie d'aider, ils ne sont pas obliger, mais je n'accepte pas les critiques gratuites et faciles ! OUI le char* du C++ doit disparaitre, qu'il disparaisse déjà dans les cours (écoles et autres) après on verra
|
||||||
lmghs
|
# Posté le 12/05/2008 à 19:23:20 | ||||||
|
Groupe : Membres |
???
Qui juge ? Le code est voué à planter à l'exécution, c'est un fait. De plus, les lectures sans précautions sont à éviter, en C scanf est déconseillé (cf le forum le forum d'à côté), en C++ pour la même raison on ne lit pas des char* (ou char[]) avec >> -- même en C++ pré-98. Ce ne sont que des faits qui ont été rappelés. Quant à "être choqué", c'est une correction (comme correction d'exercice): la réaction saine que tout le monde devrait avoir en voyant des pointeurs ainsi utilisés. |
||||||
iNaKoll
|
# Posté le 12/05/2008 à 19:51:07 | ||||||
Grosso merdo![]() Groupe : Membres |
Citation : NoHaR
Bah, parti d'un bon sentiment ou pas : déclarer un char* sans l'allouer, ainsi que la bourde d'après avec cin... ça tient de l'erreur qu'on fait quand on débute et qu'on n'a jamais encore vraiment fait de C++. Qu'un débutant la fasse et qu'on le renvoie vers le cours, passe encore je veux dire. Mais avec un bac+5 en informatique, faut avouer que ça laisse très sérieusement à douter de mes compétences. Donc oui, effectivement, ils ont un jugement très dur (en ce qui me concerne) et ils ont bien raison .Euh... pour ma part, je ne me permet pas de juger qui que ce soit. Des erreurs, on en fait tous ! J'ai déjà fait bien pire que ça mais je ne vous raconterais pas ! Citation : beegees quoi qu'il en soit, quoi que nous ayons fait, un forum n'est pas là pour juger les gens mais pour les aider, si ils n'ont pas envie d'aider, ils ne sont pas obliger, mais je n'accepte pas les critiques gratuites et faciles ! OUI le char* du C++ doit disparaitre, qu'il disparaisse déjà dans les cours (écoles et autres) après on verra Aider, on ne fait que ça ! Mais malheureusement, les petites moqueries pas méchantes du tout peuvent être mal interprétées, je m'en rend compte... Quand lmghs dit "qu'il serait temps d'oublier les char* ", il sous-entend à mon avis que la manipulation des chaines de caractères "façon C" sont sources de nombreuses erreurs. Pour les utilisations les plus courantes, il vaut mieux utiliser la classe string de la librairie standard du C++.. Ça évite d'avoir à se poser trop de questions avec l'allocation mémoire ! Si on apprend dans les cours d'info à utiliser les char* dans un premier temps, c'est souvent parce que l'on commence (à tord?) par apprendre les bases du C. Malgré la difficulté, la manipulation des char* permet d'appréhender la relation pointeur/tableau.. Donc à mon avis les char* sont pas près de disparaitre des cours ! "La constante de couplage est fonction d'une certaine valeur constante que prend le champ scalaire des dilatations dans le vide quantique." |
||||||
beegees
|
# Posté le 12/05/2008 à 19:53:27 | ||||||
|
Groupe : Membres |
ok j'ai réagi un peu vite, je m'excuse, je dois l'avouer, votre aide m'est (pour ne parler que de moi) INDISPENSABLE et PRECIEUSE et je ne vous en remercierai jamais assez.
|
||||||
NoHaR
|
# Posté le 12/05/2008 à 20:04:30 | ||||||
Wakarimashita yo![]() Groupe : Membres |
Pour en revenir aux char*, je pense au cas particulier des bibliothèques du C que l'on utilise indifféremment pour des codes en C ou C++ (notamment celle sans laquelle je n'aurais jamais lâché mon petit Java pour coder en C++ : OpenCV).
Dans ce cas précis, il est vrai que les chaînes de caractères qu'il faut passer en paramètre de certaines fonctions demeurent (et c'est bien normal) des (const) char*, d'où le fait qu'on ne puisse pas complètement se passer des char* .Bien qu'en C++ on puisse en fait utiliser la méthode string::cstr() (si je ne m'abuse), ce qui nous permet de sécuriser un peu plus le code en utilisant des strings et d'utiliser tout de même ces fonctions précises.
Édité
le 12/05/2008 à 20:06:09
par NoHaR
![]() Mon Tutoriel : Vision par Ordinateur Avancement : ...débordé... mais promis, ça arrive !! |
||||||
lmghs
|
# Posté le 12/05/2008 à 20:16:23 | ||||||
|
Groupe : Membres |
Ou même vector<char>... qui résistera mieux aux exceptions qu'un char*.
|
||||||
tc
|
# Posté le 13/05/2008 à 14:58:30 | ||||||
Readability counts![]() Groupe : Membres |
Citation : NoHaR
Code : C++
Edit : correction d'une erreur de 2 grosses bourdes plus grosses que moi dans un code qui ne fait pourtant que 4 lignes. ... Si ça continue comme ça j'vais m'pendre... Il reste des erreurs (pas de & devant ProduitVoulu dans scanf(). Par ailleurs, il est fortement recommandé de controler le nombre de caracteres saisis et de purge le buffer clavier après usage. Le code devient: Code : C++
C'est certain qu'utiliser scanf() n'est pas réellement choisir la solution de facilité. Son usage est déjà déconseillé en C, alors en C++... Préférer: Code : C++
Thierry "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth | FAQ-Python | FAQ-C - FAQ-c.l.c | FAQ-C++ - FAQ-Lite | |
||||||
lmghs
|
# Posté le 13/05/2008 à 15:01:55 | ||||||
|
Groupe : Membres |
Attention au mélange IO C et IO C++.
PS: toujours attraper les objets exception par référence (constante si possible)
Édité
le 13/05/2008 à 15:02:29
par lmghs
|
||||||
NoHaR
|
# Posté le 13/05/2008 à 15:26:16 | ||||||
Wakarimashita yo![]() Groupe : Membres |
Bon, avec mon ton le plus solennel :
La prochaine fois que j'essaye de poster un code sur un forum, je jure que j'essayerai de le compiler avant ! Ces petites absences qui apportent de gros moments de solitude... ... Si les compilateurs pouvaient parler, on se marrerait pas tous les jours !! ![]() Mon Tutoriel : Vision par Ordinateur Avancement : ...débordé... mais promis, ça arrive !! |
||||||
tc
|
# Posté le 13/05/2008 à 16:12:12 | ||||||
Readability counts![]() Groupe : Membres |
Citation : lmghs
Attention au mélange IO C et IO C++. PS: toujours attraper les objets exception par référence (constante si possible) Oui, c'est un non sens de mélanger les API. Mais le PO semble vouloir absolument utiliser scanf(). Thierry "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth | FAQ-Python | FAQ-C - FAQ-c.l.c | FAQ-C++ - FAQ-Lite | |
||||||
MatteX
|
# Posté le 13/05/2008 à 16:18:12 | ||||||
The cake is a lie!![]() Groupe : Membres |
Citation : NoHaR
Si les compilateurs pouvaient parler, on se marrerait pas tous les jours !! Il y a des compilateurs qui parlent! lmghs, par exemple, en est un. ![]() Avec l'expérience, on devient mieux qu'un compilateur sur deux pattes. Un chance, sinon, nous n'aurions plus besoin de développeurs. liens utiles: FAQ C++ (developpez.com) | GotAPI.com | H-Deb Mon futur ex-blog | Logique : http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx Propriétaire d'un Dell Inspiron 1720, Core 2 Duo 2.4Ghz, 3Go DDR2, 8600M GT 256Mo. Avec Blu-Ray! |
||||||
lmghs
|
# Posté le 13/05/2008 à 17:07:13 | ||||||
|
Groupe : Membres |
Hum. "Interpréteur" à la limite, cela laisse de la place aux travers. ^^'
|
||||||
Retour au forum "Langage C++" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
152 Zéros connectés |
6 requêtes |
0.0262s (0.0108s)
