Juu eli väsäsin tälläisen funktion joka muuttaa kokonaisluvun merkkijonoksi, kun otti päähän kun en valmista löytänyt.
Koodi käyttää c++ ainoastaan string luokan osalta, koska en osannut oikein palautaa lukua muuten. Eli vinkkiä voi antaa miten se onnistuu c:llä :). Koodia ei ole mitenkää optimoitu ja jokin helpompi tapa tähänkin varmaan on. Kommentointi on vähän epäselvää, mutta parempaan en pystynyt :/.
/* funktio muutta kokonaisluvun n merkkijonoksi */ string int_to_string(int n) { char numerot[11] = "0123456789"; // numerot merkkeinä int pituus = 1; //luvun pituus merkkeinä int potenssi = 1; //suurin 10 potenssi joka on pinempi tai yhtäsuuri kuin annettu luku /* kasvatetaan pituutta ja potenssia niin kauan kun potessi < tai == kuin luku */ while(potenssi * 10 <= n){ pituus++; potenssi *= 10; } string str; //merkkijono joka palautetaan int i; //for silmukkaan int num; //luvun numero /* käydään luku läpi */ for(i = 0; i < pituus; i++) { num = (int)(n / potenssi); //kuinka monta kertaa potenssi menee lukuun n -= (int)(num * potenssi); //"lyhennetään" lukua potenssi /= 10; //pienennetään potenssia str.insert(str.begin() + i, numerot[num]); //lisätään merkkijonoon oikea numero } return str; //palautetaan merkkijono }
itoa() tai sprintf() hoitaa homman myös...
Aihe on jo aika vanha, joten et voi enää vastata siihen.