Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2904 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  C++ Conversion de string vers long

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C++ Conversion de string vers long

n°1507285
damien797
Posté le 25-01-2007 à 22:34:02  profilanswer
 

Comment convertir de type string vers long?
 
En C++.
 
Merci de votre aide!

mood
Publicité
Posté le 25-01-2007 à 22:34:02  profilanswer
 

n°1507341
Taz
bisounours-codeur
Posté le 26-01-2007 à 08:56:41  profilanswer
 
n°1507985
stabia
Posté le 28-01-2007 à 17:20:33  profilanswer
 

Il n'existe pas de type "string" en C ou C++ !
Pour convertir à peu prés n'inporte quoi vers à peu prés n'importe quoi il y les fonctions standards "scanf" et "printf" (et les variantes).
Sinon la conversion d'une suite de caractères en entier est véritablement trés simple.

n°1507991
++fab
victime du syndrome IH
Posté le 28-01-2007 à 17:41:41  profilanswer
 

stabia a écrit :

Il n'existe pas de type "string" en C ou C++ !


Il existe un type string en C++ : std::string.
 

stabia a écrit :

Pour convertir à peu prés n'inporte quoi vers à peu prés n'importe quoi il y les fonctions standards "scanf" et "printf" (et les variantes).


... ce qui n'est pas la meilleure façon de faire. Le lien posté par Taz pointe la méthode que préconise les experts des newsgroups qui ont contribués à cette FAQ. Il est légitime de penser que c'est la meilleure méthode.

n°1508015
stabia
Posté le 28-01-2007 à 18:54:50  profilanswer
 

"There are two easy ways to do this: you can use the <cstdio> facilities"

 

C'est la première phrase du lien ...

 

Tout dépend de ce que l'on cherche à faire, ou à enseigner ; dans la pratique je ne vois aucune raison valable, dans la majeure partie des cas, de se priver du recours simplissime aux bibliothèques standards.

 

"The sequences controlled by an object of template class basic_string are the Standard C++ string class and are usually referred to as strings, but they should not be confused with the null-terminated C-strings used throughout the Standard C++ Library. The string class is a container that enables the use of strings as normal types, such as using comparison and concatenation operations, iterators, and STL algorithms and copying and assigning with class allocator managed memory." (origine Microsoft)

 

C'est dans ce sens-la que je disais qu'il n'y avait pas de type "string", c'est vrai que j'ai le défaut des programmeurs en assembleur passés au C (puis C++) je suis rétif à la perte de controle. Habitué à inclure et lier ma propre classe j'en ai oublié "std::string" que je crois n'avoir jamais utilisé.
Merci de m'avoir rappelé son existence. Mais franchement
        int nombre = sscanf(tp, "%d", &resultat);
c'est quand même assez trivial, non ?

Message cité 1 fois
Message édité par stabia le 28-01-2007 à 18:55:57
n°1508078
IrmatDen
Posté le 29-01-2007 à 01:30:09  profilanswer
 

stabia a écrit :

"There are two easy ways to do this: you can use the <cstdio> facilities"

 

C'est la première phrase du lien ...

 

Tout dépend de ce que l'on cherche à faire, ou à enseigner ; dans la pratique je ne vois aucune raison valable, dans la majeure partie des cas, de se priver du recours simplissime aux bibliothèques standards.


Je pense que la moindre des choses serait de citer la seconde phrase (In general, you should prefer the <iostream> library.), ainsi que de lire le lien en question (dont la première phrase est: Increase type safety, reduce errors, allow extensibility, and provide inheritability.). Question d'honnêteté [:spamafote]

 
stabia a écrit :

Habitué à inclure et lier ma propre classe j'en ai oublié "std::string" que je crois n'avoir jamais utilisé.


Tu n'as même pas une raison valide pour avoir fait ce remplacement?? Comment sais-tu si ta classe est au moins aussi sûre que la leur? Et quid de l'utilisation avec les streams? (mince, j'ai utilisé deux mots pas français :/)

stabia a écrit :

Mais franchement
        int nombre = sscanf(tp, "%d", &resultat);
c'est quand même assez trivial, non ?


Franchement bof :D (edit: pour du C++, puisqu'on est dans cette cat')
Qu'est ce qui ne l'est pas dans le lien donné par Taz? Si tu ne connais pas les streams flux, pardon, intéresses toi à eux, et apprend à programmer en c++ plutôt qu'en C, quitte à renier certains préceptes...


Message édité par IrmatDen le 29-01-2007 à 01:30:47
n°1508135
stabia
Posté le 29-01-2007 à 10:31:28  profilanswer
 

qu'elle agressivité, vos vingt ans vous travaillent-ils ?
 "two easy ways" c'est assez clair non ?
 
Je n'ai jamais dis que ma classe avait une quelconque supériorité, il se trouve que j'avais oublié l'autre et que la mienne me suffit (en plus elle est liée à d'autres que j'ai développé conjointement).
Quand à l'utilisation des flux je ne vois pas ou serait le problème, mais je vais demander aux centaines d'utilisateurs de mes programmes, à travers toute l'Europe, s'ils sont victimes de mon incompétence et bien sur de mon arrogance Française !
 
Je me méfie toujours des gardiens du Temple, plus purs que les autres, imbus de leurs certitudes, prêt à en découdre pour un verset mal récité.
Lorsque je programme je poursuis trois buts :
1/ un programme qui fonctionne dans l'environnement pour lequel il à été écrit (et je ne parle pas uniquement de l'environnement informatique);
2/ un programme que je pourrais comprendre sans effort dans 6 mois (et plus);
3/ un programme que je peux réaliser dans de bonnes conditions économiques.
 Je me moque éperdument des querelles stériles de chapelles, la programmation objet "pure" est une masturbation intellectuelle de chercheurs ou d'étudiants, la recherche de la "portabilité" est généralement inutile, se tordre l'esprit et l'imagination pour faire rentrer des structures logiques dans un canevas normatif C++ est contre-productif.
 La première qualité d'un logiciel : c'est qu'il fonctionne !
 
 
Certainement il  faut que j'apprenne le C++, mais en attendant la programmation me rapporte, depuis 23 ans, de quoi bien vivre, en toute indépendance, et en plus cela continue à être un plaisir, alors mon petit bonhomme tes leçons tu peux te ....

n°1508143
franceso
Posté le 29-01-2007 à 10:47:16  profilanswer
 

stabia a écrit :

quelle agressivité, vos vingt ans vous travaillent-ils ?

C'est toi que je trouve particulièrement agressif...

 

Tu as peut-être une grande expérience en C, mais visiblement pas en C++. Donc ne t'étonne pas si on te reprend lorsque tu dis des énormités ("il n'existe pas de type string en C++" ) ou indiques des solutions "purement C" à un problème qui est, de l'avis de beaucoup, mieux traité par les solutions spécifiques au C++.
Conseiller à un débutant l'utilisation de scanf est à mon avis vraiment une erreur. Tu arrives sans doute à l'utiliser correctement dans tes bibliothèques, mais tu ne peux pas supposer que n'importe qui est en mesure de mettre en place proprement ce genre de techniques.


Message édité par franceso le 29-01-2007 à 10:48:23

---------------
TriScale innov
n°1508151
IrmatDen
Posté le 29-01-2007 à 11:16:01  profilanswer
 

@Stabia: dommage que tu ais pris ma réponse comme de l'agressivité, ce n'était pas le but. Mes excuses si je t'ai paru pédant en plus... (Et pour ce qui est du français, c'était plutôt de la taquinerie suite à tes posts récents qu'autre chose ;)).
 
Pour que tu saches, contrairement à toi, je ne suis pas dev pro, je n'ai pas écris 100 logiciels pour des grands comptes ou autre, et je suis nettement moins bon qu'un certain nombre de personnes ici, comme taz, ++fab et autres Svear, Harko...
Ce que je vois, c'est qu'on est en cat C++, et que je m'efforce de répondre avec le langage, pas avec celui que je maitrise le mieux (bon, qui se trouve être celui-là ceci dit :D).

n°1508153
stabia
Posté le 29-01-2007 à 11:20:47  profilanswer
 

Mon agressivité est une réponse, je n'en n'ai pas pris l'initiative.
Il est vrai que je programme dans un mélange C/C++, comme la plupart des productifs. C'est un choix délibéré, une expérience ADA m'ayant incité à une réflexion sur la nature même de notre (? je suppose) métier.
Plus généralement je ne crois pas -plus- à la pertinence des évolutions de l'informatique, les coûts deviennent colossaux pour des gains de productivité de plus en plus ténus.
Au même titre que la recherche -fondamentale ou appliquée- commence à resserrer les équipes, je crois qu'il faudra revenir à une programmation moins modulaire, plus linéaire, avec des équipes plus réduites et moins d'obsessions : bref plus humaine.
Votre dernier paragraphe implique bien des choses, je n'ai pas l'expérience de l'enseignement, mais j'ai celle de la formation en entreprise ; je ne m'inscris pas en faux de votre propos, mais je pense qu'il ne s'agit pas d'une vérité générale.

mood
Publicité
Posté le 29-01-2007 à 11:20:47  profilanswer
 

n°1508166
NES241
Posté le 29-01-2007 à 12:23:24  profilanswer
 

Bonjour;
 
J'ai le soucis suivant:
-L'an dernier, j'ai étais dans une école oà on programme avec C++ sous linux donc ce que je veux dire tout mes programmes sont fais en C++ sous LINUX et cette année j'ai changé d'école là on a pas de station de travaille. Alors j'ai télécharger DEV-C++, mais le problème je ne sais pas par exemple comment compiler? de même comment exucter??  
 
Merci pour votre aide

n°1508292
stabia
Posté le 29-01-2007 à 16:04:50  profilanswer
 

J'ai une expérience dans les deux C et C++, et aussi dans d'autres, c'est justement pour cela que je programme aujourd'hui dans un mélange des deux ; en attendant de pouvoir refaire des applications complètes en assembleur, qui est ce qui m'offre le plus de plaisir (le 68030 était un vrai régal !).
J'ai écris sans doute une centaine de logiciels, mais ceux qui m'ont fait vivre sont bien moins nombreux (3 ces 5 dernières années).
En ecrivant mes messages je voulais surtout tenter de décloisonner, je comprend bien qu'il faille, pour des raisons pédagogiques, aller jusqu'au bout de la logique d'un langage, mais je crois qu'il faut ensuite prendre de la distance ... l'observation du code généré par les compilateurs est trés instructive des limites des langages "objets".
Programmer ce n'est pas utiliser des recettes aprés avoir déterminer au moyen d'outils pré-formatés les besoins et la structuration du logiciel ; je crains que ce soit trop souvent le cheminement qui est enseigné.

n°1508343
Joel F
Real men use unique_ptr
Posté le 29-01-2007 à 17:42:18  profilanswer
 

stabia a écrit :


la programmation objet "pure" est une masturbation intellectuelle de chercheurs ou d'étudiants, la recherche de la "portabilité" est généralement inutile, se tordre l'esprit et l'imagination pour faire rentrer des structures logiques dans un canevas normatif C++ est contre-productif.


 
[:violon] faut arreter un peu l'elitisme de bas étages ...

n°1508368
Taz
bisounours-codeur
Posté le 29-01-2007 à 18:33:47  profilanswer
 

stabia a écrit :


la programmation objet "pure" est une masturbation intellectuelle de chercheurs ou d'étudiants, la recherche de la "portabilité" est généralement inutile, se tordre l'esprit et l'imagination pour faire rentrer des structures logiques dans un canevas normatif C++ est contre-productif.


 
OSEF de la POO, ce qui compte c'est la conception. Et on voit pas le rapport avec la portabilité ni en quoi faut être imaginatif.
 
Et puis moi d'abord, j'ai écris 1000 logiciels en ASM# sur robot ménager, c'est moi qui ait le plus d'expérience. Na!

n°1508382
++fab
victime du syndrome IH
Posté le 29-01-2007 à 19:37:50  profilanswer
 

stabia a écrit :

qu'elle agressivité, vos vingt ans vous travaillent-ils ?
 "two easy ways" c'est assez clair non ?


La suite aussi est assez claire, bref.
 

Citation :

Je me méfie toujours des gardiens du Temple, plus purs que les autres, imbus de leurs certitudes, prêt à en découdre pour un verset mal récité.


?
 

Citation :

Lorsque je programme je poursuis trois buts :
1/ un programme qui fonctionne dans l'environnement pour lequel il à été écrit (et je ne parle pas uniquement de l'environnement informatique);
2/ un programme que je pourrais comprendre sans effort dans 6 mois (et plus);
3/ un programme que je peux réaliser dans de bonnes conditions économiques.
 Je me moque éperdument des querelles stériles de chapelles, la programmation objet "pure" est une masturbation intellectuelle de chercheurs ou d'étudiants, la recherche de la "portabilité" est généralement inutile, se tordre l'esprit et l'imagination pour faire rentrer des structures logiques dans un canevas normatif C++ est contre-productif.
 La première qualité d'un logiciel : c'est qu'il fonctionne !
 
Certainement il  faut que j'apprenne le C++, mais en attendant la programmation me rapporte, depuis 23 ans, de quoi bien vivre, en toute indépendance, et en plus cela continue à être un plaisir, alors mon petit bonhomme tes leçons tu peux te ....


 
A te lire - au nombre de "je" employés et à la présence du mot "indépendance" - tu n'évolues pas dans des projets impliquant plusieurs développeurs. Vu que tu ne quotes pas ce à quoi tu réponds, je vais supposer que c'était la question d'utiliser du C++ de "puriste" qui t'as fait aligner 3 points. Je ne comprends pas la signification profonde du point 1/, mais les points 2/ et 3/ peuvent plus facilement être mis à la première personne du pluriel si tu utilises la bibliothèques standard que tout le monde connait bien.
 

n°1508385
++fab
victime du syndrome IH
Posté le 29-01-2007 à 19:43:36  profilanswer
 

stabia a écrit :

Plus généralement je ne crois pas -plus- à la pertinence des évolutions de l'informatique, les coûts deviennent colossaux pour des gains de productivité de plus en plus ténus.


Quelles évolutions ?
 

Citation :

Au même titre que la recherche -fondamentale ou appliquée- commence à resserrer les équipes, je crois qu'il faudra revenir à une programmation moins modulaire, plus linéaire, avec des équipes plus réduites et moins d'obsessions : bref plus humaine.


?
 
 

n°1508389
++fab
victime du syndrome IH
Posté le 29-01-2007 à 19:51:34  profilanswer
 

stabia a écrit :

En ecrivant mes messages je voulais surtout tenter de décloisonner, je comprend bien qu'il faille, pour des raisons pédagogiques, aller jusqu'au bout de la logique d'un langage, mais je crois qu'il faut ensuite prendre de la distance ... l'observation du code généré par les compilateurs est trés instructive des limites des langages "objets".


Parles-tu du C++ ? Et si oui, peux-tu donner un exemple de construction qui montre les limites de l'orientation objet du langage C++ ?
 

Citation :

Programmer ce n'est pas utiliser des recettes aprés avoir déterminer au moyen d'outils pré-formatés les besoins et la structuration du logiciel ; je crains que ce soit trop souvent le cheminement qui est enseigné.


(de plus en plus perplexe) Alors que conseilles-tu ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  C++ Conversion de string vers long

 

Sujets relatifs
warning: [unchecked] unchecked conversiondonnées fichier texte vers BDD
Problème de conversion de temps en fonction de timezonecallback vers un fonction membre, sans parametre "user"
Besoin de guidage vers une solutionExport données Excel vers Mysql
Pointeur de tableau de pointeurs de strings....Garder un mot d'une string
Conversion de String vers Byte 
Plus de sujets relatifs à : C++ Conversion de string vers long


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR