Как происходит сабж?? мне нужно написать свою функцию которая бы переводила число в C строку, но я пошарил по поисковикам и книжкам всяким, но ничё конкретно не нашел. Может кто подскажет как это происходит?? мне хотябы просто в теории ) остальное я сам додумаю
Re: алгоритм перевода числа в строку
От:
Аноним
Дата:
17.07.07 15:13
Оценка:
Здравствуйте, Arisu, Вы писали:
A>Как происходит сабж?? мне нужно написать свою функцию которая бы переводила число в C строку, но я пошарил по поисковикам и книжкам всяким, но ничё конкретно не нашел. Может кто подскажет как это происходит?? мне хотябы просто в теории ) остальное я сам додумаю
Здравствуйте, Arisu, Вы писали:
A>Как происходит сабж?? мне нужно написать свою функцию которая бы переводила число в C строку, но я пошарил по поисковикам и книжкам всяким, но ничё конкретно не нашел. Может кто подскажет как это происходит?? мне хотябы просто в теории ) остальное я сам додумаю
Здравствуйте, korzh.pavel, Вы писали:
KP>Здравствуйте, Arisu, Вы писали:
A>>Как происходит сабж?? мне нужно написать свою функцию которая бы переводила число в C строку, но я пошарил по поисковикам и книжкам всяким, но ничё конкретно не нашел. Может кто подскажет как это происходит?? мне хотябы просто в теории ) остальное я сам додумаю
KP>как то так
Здравствуйте, Сергей Мухин, Вы писали:
СМ>Здравствуйте, korzh.pavel, Вы писали:
KP>>Здравствуйте, Arisu, Вы писали:
A>>>Как происходит сабж?? мне нужно написать свою функцию которая бы переводила число в C строку, но я пошарил по поисковикам и книжкам всяким, но ничё конкретно не нашел. Может кто подскажет как это происходит?? мне хотябы просто в теории ) остальное я сам додумаю
KP>>как то так
СМ>ужасная ф-ия! статический буфер!
СМ>т.е.
СМ>char * s1 = itoa(1,10); СМ>char * s2 = itoa(2,10);
СМ>и s1 и s2 будет указывать на "2" !!!
А ведь это из Соляриса! Страшно даже подумать, что будет, если попросить эту функцию перевести число в строку в двадцатисемиричной системе счисления. Ну или в одноричной
В VS2005 std::ostringstream берёт настройки вывода (символ-разделитель,
кол-во цифр в группе и т.п.) из юзерской локали, что не всегда надо,
поэтому при перводе числа я инициализирую std::ostringstream 'классической'
сишной локалью: разделитель — точка, цифры без групп:
Здравствуйте, Аноним, Вы писали: А>В VS2005 std::ostringstream берёт настройки вывода (символ-разделитель, А>кол-во цифр в группе и т.п.) из юзерской локали, что не всегда надо, А>поэтому при перводе числа я инициализирую std::ostringstream 'классической' А>сишной локалью: разделитель — точка, цифры без групп:
А>
Ага, а лучше воспользоваться уже-почти-стандартным boost::lexical_cast
"To protect people you must slay people. To let people live you must let people die. This is the true teaching of the sword."
-Seijuro Hiko, "Rurouni Kensin"