Rychly konvert z intu na string

Programovacie jazyky, rady, poradňa...
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Rychly konvert z intu na string

Príspevok od používateľa marek788 »

Ahojte, viete mi niekto povedat, ci existuje nejaky rychlejsi konvert v c++ z intu na string, ako cez stream? Dakujem.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Rychly konvert z intu na string

Príspevok od používateľa BX »

Streamy sú z princípu pomalé. Použi radšej starý dobrý C-čkovský itoa
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: Rychly konvert z intu na string

Príspevok od používateľa marek788 »

dik, ale ten prave neberie g++, ja v podstate prevadzam len jeden znak zo stringu do intu.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Rychly konvert z intu na string

Príspevok od používateľa BX »

Akožeby nebralo, máš inkludnutý cstdlib?
Okrem toho, ak robíš jednoduchú operáciu, tak si ju napíš rovno sám a máš istotu, že bude rýchla.
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: Rychly konvert z intu na string

Príspevok od používateľa marek788 »

No praveze mam, a aj tak mi stale vypisuje, ze to nepozna.

Kód: Vybrať všetko

int a= 5;
    string x;
    itoa (a, x ,10);
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Rychly konvert z intu na string

Príspevok od používateľa BX »

Joj no to je jasné, itoa berie ako argument char*, nie c++kový string. Vytiahni z neho čistý string cez x.c_str()
Alebo si to jednoducho napíš sám.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8219
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Rychly konvert z intu na string

Príspevok od používateľa harrison314 »

Kód: Vybrať všetko

int a = 5;
char buffer[30];
itoa(a,buffer,10); //alebo sprintf(buffer,"%i",a);
string x(buffer);
//BX ma predbehol
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: Rychly konvert z intu na string

Príspevok od používateľa marek788 »

To vsak nic nemeni na tom, ze mi to stale vypisuje "unable to resolve identifier itoa" :/
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8219
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Rychly konvert z intu na string

Príspevok od používateľa harrison314 »

marek788 napísal:To vsak nic nemeni na tom, ze mi to stale vypisuje "unable to resolve identifier itoa" :/
skus #include<cstdlib>
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: Rychly konvert z intu na string

Príspevok od používateľa marek788 »

No sak to tam prave mam, btw ta varianta so spritnf funguje, takze dik :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Rychly konvert z intu na string

Príspevok od používateľa BX »

Hmm, veci sa zmenili odkedy som bol ja mladý :lol:
itoa nie je v štandarde ani v C, nie to ešte v C++, kde nie je už vôbec. Tým pádom teda použi už skutočne klasické C-čkovské sprintf
http://www.cplusplus.com/reference/cstdio/sprintf/
Alebo v C++11 je pridané http://en.cppreference.com/w/cpp/string ... /to_string
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: Rychly konvert z intu na string

Príspevok od používateľa marek788 »

Dakujem vam :)
Napísať odpoveď