Jak zmienić int na string? Gdzieś w necie znalazłem, że do tego służy funkcja itoa(), ale nie działa
chodzi mniej więcej o to:
string napis = "pytanie nr ";
int a = 1;
string napis2 itoa(int a); //tak było na jakimś forum: string itoa(int liczba);
napis = napis + napis2;
Macie jakieś pomysły?
Z góry dzięki
Antharas
(Bartlomiej Kwiatkowski)
20 Wrzesień 2007 16:54
#2
Na przyklad tak:
#include
int i = 5;
string str;
stringstream out;
out << i;
str = out.str();
Źródło: http://notfaq.wordpress.com/2006/08/30/c-convert-int-to-string/
Pewno zaraz przyleci Ryan albo jakiś inny “wymiatacz” i powie, że to nie do końca dobry sposób bo etc. etc. etc. :mrgreen:
Fiolek
(Fiołek)
20 Wrzesień 2007 17:38
#3
Można też tak:
int i = 5;
string str;
char buf[2];
sprintf(&buf, "%i", i);
str = buf;
Ale ma to pewną wade: Musisz znać rozmiar inta(ile ma cyfr w sobie).
Ryan
(Ryan)
25 Wrzesień 2007 02:09
#5
Nie zgodzę się. Przecież wystarczy stworzyć tablicę, która zmieści najdłuższą możliwą reprezentację tekstową inta. 10 bajtów w tą czy w tą nie stanowi przecież różnicy dla aplikacji.