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

Konwersja int na string

VPS Starter Arubacloud
0 głosów
4,396 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,340 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,340 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,340 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,340 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,340 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ź 626 wizyt
pytanie zadane 17 maja 2015 w C i C++ przez Mak10 Nowicjusz (150 p.)
0 głosów
2 odpowiedzi 465 wizyt
pytanie zadane 1 listopada 2015 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 195 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...