[C++/WinAPI] zmiana int na string

Jak zmienić int na string? Gdzieś w necie znalazłem, że do tego służy funkcja itoa(), ale nie działa :frowning:

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 :smiley:

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:

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).

dzięki

Nie zgodzę się. :wink: 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.