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

Konwersja int na string

Object Storage Arubacloud
0 głosów
4,471 wizyt
pytanie zadane 12 sierpnia 2015 w C i C++ przez gagyn Stary wyjadacz (11,050 p.)

Witam,

mam pytanie jak przekonwertować liczbe int do string?

6 odpowiedzi

0 głosów
odpowiedź 12 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)
komentarz 12 sierpnia 2015 przez gagyn Stary wyjadacz (11,050 p.)

O tym wiem, tylko nie rozumiem.

Np:

itoa(i, linia, pokaz);

chcę przkonwertować pokaz do linia.

komentarz 12 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)

Nie rozumiem? Przecież masz na tej stronie wszystko pokazane. Ja polecam używać funkcji sprintf, która należy do standardu ANSI C (itoa już nie). Jak ją wykorzystać, to masz na stronie, którą podałem.

0 głosów
odpowiedź 12 sierpnia 2015 przez daan Pasjonat (17,640 p.)

najprościej będzie użyć funkcji std::to_string(x), x jest oczywiście ten twój int :) 

int x = 5;
std::string t = std::to_string(x);

 

komentarz 12 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)

i to zmienna liczbowa.

komentarz 12 sierpnia 2015 przez daan Pasjonat (17,640 p.)

ta opcja powinna rozwiązać problem z to_string

komentarz 12 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)

@daan Nie wiem, ale u mnie też nie działa ta metoda (choć mam ustawiony c++11 w ustawieniach).

komentarz 12 sierpnia 2015 przez daan Pasjonat (17,640 p.)
sprawa wygląda tak, że kompilator w C::B ten który jest domyślnie, jest po prostu stary :) i dlatego nie uda Ci się użyć tej funkcji, polecam w takim razie użycie <sstream> jak kolega @dorion300 napisał :)
komentarz 12 sierpnia 2015 przez Patrycjerz Mędrzec (192,320 p.)

Ja znam bibliotekę sstream i jej używałem smiley

0 głosów
odpowiedź 12 sierpnia 2015 przez Bartek85 Mądrala (7,440 p.)
#include <iostream>
#include <string>

int main()
{
	int x = 5;
	std::cout << "X=" << std::to_string(x);
}

 

0 głosów
odpowiedź 12 sierpnia 2015 przez Dorion300 Szeryf (90,250 p.)

Użyj strumieni ostringstream.

int i = 10;
ostringstream strim;
strim << i;
string str = strim.str();

Nagłówek potrzebny to "sstream"

0 głosów
odpowiedź 12 sierpnia 2015 przez 0xf Dyskutant (8,180 p.)
Chcesz sam napisac funkcje do tej konwersji czy zwyczajnie przekonwertowac ?
–1 głos
odpowiedź 12 sierpnia 2015 przez criss Mędrzec (172,590 p.)

Mozesz sam sobie napisac taka funkcje. Np. dla liczb od 0 do 999:

string tostring(int x)
{
       if(x==0) return "0";
       else if(x==1) return "1";
       else if(x==2) return "2";
       else if(x==3) return "3";
       else if(x==4) return "4";
       else if(x==5) return "5";
       else if(x==6) return "6";
       else if(x==7) return "7";
       else if(x==8) return "8";
       else if(x==9) return "9";
       else if(x>99) return tostring((x-(x%100))/100)+tostring((x-(x%10))/10)+tostring(x%10);
       else if(x>9) return tostring((x-(x%10))/10)+tostring(x%10);
}

Fakt, nie wyglada to zbyt ladnie ale dziala :D Btw na pewno da sie jakos zapetlic rekurencyjne (?) wywolywanie samej siebie zeby dzialala dla wiekszych liczb, ale sam potzrebowalem kiedys dla max 3-cyfrowych i nie chcialo mi sie dalej myslec :P
No albo sciagnac nowszy kompilator, bo widze, że w tym jest problem. Bo c++11 ma funkcje to_string() jak juz pisza ludzie niżej.

komentarz 12 sierpnia 2015 przez daan Pasjonat (17,640 p.)
nie nie nie, bez urazy ale to jest zła funkcja :) to już lepiej użyć starych funkcji C lub po prostu strumienia stringstream :P

Podobne pytania

0 głosów
1 odpowiedź 633 wizyt
pytanie zadane 17 maja 2015 w C i C++ przez Mak10 Nowicjusz (150 p.)
0 głosów
2 odpowiedzi 468 wizyt
pytanie zadane 1 listopada 2015 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 195 wizyt

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

61,922 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!

...