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

Konwersja int na string

0 głosów
447 wizyt
pytanie zadane 12 sierpnia 2015 w C i C++ przez gagyn Mądrala (6,440 p.)

Witam,

mam pytanie jak przekonwertować liczbe int do string?

6 odpowiedzi

0 głosów
odpowiedź 12 sierpnia 2015 przez Patrycjerz Mędrzec (187,050 p.)
komentarz 12 sierpnia 2015 przez gagyn Mądrala (6,440 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 (187,050 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,840 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 (187,050 p.)

i to zmienna liczbowa.

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

ta opcja powinna rozwiązać problem z to_string

komentarz 12 sierpnia 2015 przez Patrycjerz Mędrzec (187,050 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,840 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 (187,050 p.)

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

0 głosów
odpowiedź 12 sierpnia 2015 przez Bartek85 Mądrala (7,140 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,090 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 Jonbi2 Dyskutant (8,220 p.)
Chcesz sam napisac funkcje do tej konwersji czy zwyczajnie przekonwertowac ?
–1 głos
odpowiedź 12 sierpnia 2015 przez Criss Mędrzec (171,380 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,840 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ź 420 wizyt
pytanie zadane 17 maja 2015 w C i C++ przez Mak10 Nowicjusz (150 p.)
0 głosów
2 odpowiedzi 159 wizyt
pytanie zadane 1 listopada 2015 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 294 wizyt
pytanie zadane 1 listopada 2016 w C i C++ przez Kasztan Dyskutant (8,100 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

66,494 zapytań

113,266 odpowiedzi

239,865 komentarzy

46,630 pasjonatów

Przeglądających: 140
Pasjonatów: 0 Gości: 140

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...