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
La facilité : c'est ne pas essayer de ne pas vivre en contradiction avec les idées que l'on ne défend pas... Si vous aimez "ramener votre science" ( ) et apprendre celle des autres : hypo-thèses.com![]() |
||||||
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é .La facilité : c'est ne pas essayer de ne pas vivre en contradiction avec les idées que l'on ne défend pas... Si vous aimez "ramener votre science" ( ) et apprendre celle des autres : hypo-thèses.com![]() |
||||||
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. La facilité : c'est ne pas essayer de ne pas vivre en contradiction avec les idées que l'on ne défend pas... Si vous aimez "ramener votre science" ( ) et apprendre celle des autres : hypo-thèses.com![]() |
||||||
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 .La facilité : c'est ne pas essayer de ne pas vivre en contradiction avec les idées que l'on ne défend pas... Si vous aimez "ramener votre science" ( ) et apprendre celle des autres : hypo-thèses.com![]() |
||||||
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
La facilité : c'est ne pas essayer de ne pas vivre en contradiction avec les idées que l'on ne défend pas... Si vous aimez "ramener votre science" ( ) et apprendre celle des autres : hypo-thèses.com![]() |
||||||
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 | ||||||
Make it pythonic!![]() 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 "Now is better than never. Although never is often better than right now." - The Zen of Python | 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 !! La facilité : c'est ne pas essayer de ne pas vivre en contradiction avec les idées que l'on ne défend pas... Si vous aimez "ramener votre science" ( ) et apprendre celle des autres : hypo-thèses.com![]() |
||||||
tc
|
# Posté le 13/05/2008 16:12:12 | ||||||
Make it pythonic!![]() 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 "Now is better than never. Although never is often better than right now." - The Zen of Python | 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 |
Fil RSS |
XHTML 1.0 |
CSS 2.0
Édité par Simple IT SARL :
Nous contacter
| 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.
297 Zéros connectés |
7 requêtes |
0.0289s (0.0099s)
