CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C++] String to integer

godrik
godrik
Niveau 30
10 mars 2009 à 20:18:23

Bonjour a tous,
j'ai un probleme stupide en C++.
J'ai un chaine de caractere (std::string) qui contient exactement un entier (ce que je veux dire c'est que la chaine de caractere est "12" et non " 12" ou "12 toto" ou je ne sais pas quoi). Comment je recupere l'entier en question ?
Une facon de faire est d'utiliser stringstream, mais ca m'a l'air un peu overkill. Une autre facond e faire est de recuperer une representation C-like de la chaine et de la passer a atoi, mais ca a l'air tres moche.
Un avis ?
Merci

dnob700
dnob700
Niveau 10
10 mars 2009 à 20:53:19

La dernière fois que j'ai eu ce problème, on m'a dit qu'il fallait utiliser stringstream.

Mais même si c'est moche, la meilleurs façon est probablement de passer par un 'atoi' sur la chaine C (vu qu'obtenir cette chaîne est gratuit je pense).

Mais ça illustre bien les limitations du C++ ...

Peut-on appliquer directement des fonctions à des constructeurs en C++ ? avec l'effet voulu ? Si oui, une construction comme "istringstream(str) >> i;" est presque esthétique (mais presque seulement, car j'aimerais plutôt écrire "i << ..." pour que ça ressemble à une affectation).

godrik
godrik
Niveau 30
10 mars 2009 à 21:03:14

"une construction comme "istringstream(str) >> i;" est presque esthétique"
oui tu as le droit de faire ca, ca fait un objet anonyme.

"Mais ça illustre bien les limitations du C++ ..."
Je ne sais pas bien ou, mais il y a un truc mal foutu quelque part

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment