• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Najłatwiejszy sposób na konwersję i konwersję powrotną string<->int

Object Storage Arubacloud
0 głosów
199 wizyt
pytanie zadane 24 kwietnia 2016 w C i C++ przez RycerzAndromedy Użytkownik (670 p.)

Jak najłatwiej przekonwertować string na int i spowrotem int na string? 

Znam metodę to_string(), która jednak nie działa, z powodu pewnego znanego buga. 

Czy metody  stoi + biblioteka sstream to najlepszy sposób? I czy robię to dobrze?

   int deca = stoi (liczba,nullptr,10);
 stringstream ss;
  ss << deca;
  string str = ss.str();
  if (str[0]==str[str.size()-1])
    licznik4++;

 

3 odpowiedzi

+1 głos
odpowiedź 24 kwietnia 2016 przez criss Mędrzec (172,590 p.)

Nie pomyślałeś może o naprawieniu tego buga? :P http://tehsausage.com/mingw-to-string Pewnie o to ci chodzi.

string do int poprzez atoi.

0 głosów
odpowiedź 24 kwietnia 2016 przez Patrycjerz Mędrzec (192,320 p.)

Klasa std::stringstream służy zarówno do konwersji z napisu do liczby, jak i z liczby do napisu, więc nie wiem, po co używasz funkcji stoi?

komentarz 25 kwietnia 2016 przez draghan VIP (106,230 p.)
std::string s = "14";

int i_stoi, i_sstream;

// 1.
i_stoi = std::stoi(s);

// 2.
std::stringstream ss;
ss<<s;
ss >> i_sstream;

Dla mnie bardziej elegancko wygląda 1. wariant, nie wspominając o tym, że jest krótszy w zapisie i nie wymaga dołączania dodatkowej biblioteki.

0 głosów
odpowiedź 25 kwietnia 2016 przez draghan VIP (106,230 p.)

Albo sam sobie tego buga naprawisz, albo ściągnij wersję kompilatora, która takowego buga nie posiada, np. mingw-w64.

Ale Twoja konwersja jest nawet w porządku, więc sam możesz sobie napisać przeciążoną funkcję, czy szablon to_string(). :)

Podobne pytania

0 głosów
1 odpowiedź 698 wizyt
pytanie zadane 1 listopada 2016 w C i C++ przez Kasztan Dyskutant (8,080 p.)
0 głosów
2 odpowiedzi 472 wizyt
pytanie zadane 1 listopada 2015 w C i C++ przez niezalogowany
0 głosów
6 odpowiedzi 4,570 wizyt
pytanie zadane 12 sierpnia 2015 w C i C++ przez gagyn Stary wyjadacz (11,050 p.)

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...