Прошу простить за наивность вопроса, но все же: как преобразовать число в строку? Функции преобразования строки в число типа atoi() нашел, а вот обратный процесс не ясен. Можно, конечно, при помощи sprintf(). А как-нибудь по-другому можно?
>Прошу простить за наивность вопроса, но все же: как преобразовать число в
>строку? Функции преобразования строки в число типа atoi() нашел, а вот
>обратный процесс не ясен. Можно, конечно, при помощи sprintf(). А как-нибудь
>по-другому можно?for C:
а чем sprintf() не устраивает?
он дает возможность получить число в нужном формате в указанный буфер. Что еще надо-то?for C++:
строковые потоки или boost:format или boost::lexical_cast и т.д.вообще обычно для больших проектов юзают различные либы аля glib, qt и т.д. где есть доп. функции.
>Прошу простить за наивность вопроса, но все же: как преобразовать число в
>строку? Функции преобразования строки в число типа atoi() нашел, а вот
>обратный процесс не ясен. Можно, конечно, при помощи sprintf(). А как-нибудь
>по-другому можно?
$ man -k "number.*to.*string"
ecvt (3) - convert a floating-point number to a string
ecvt (3p) - convert a floating-point number to a string (LEGACY)
ecvt_r (3) - convert a floating-point number to a string
fcvt (3) - convert a floating-point number to a string
fcvt_r (3) - convert a floating-point number to a string
gcvt (3) - convert a floating-point number to a string
gcvt (3p) - convert a floating-point number to a string (LEGACY)
qecvt (3) - convert a floating-point number to a string
qecvt_r (3) - convert a floating-point number to a string
qfcvt (3) - convert a floating-point number to a string
qfcvt_r (3) - convert a floating-point number to a string
qgcvt (3) - convert a floating-point number to a string$ man ecvt
ECVT(3) Linux Programmer's Manual ECVT(3)NAME
ecvt, fcvt - convert a floating-point number to a string
. . .
. . .
SEE ALSO
ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)
Как видим, в разделе "SEE ALSO" присутствует ссылка на sprintf, так что его, похоже, также можно
считать кошерным и православным. :-)
> Как видим, в разделе "SEE ALSO" присутствует ссылка на sprintf, так что его, похоже, также можно считать кошерным и православным. :-)Как раз sprintf, а точнее snprintf, и есть кошерная и православная функция, а *cvt были obsolete, а теперь вообще убраны из стандарта.
Кстати, atoi - бяка, ибо ошибки не вылавливает. Строки в числа можно преобразовывать с помощью strtod, stroul итп, sscanf или тот же boost::lexical_cast.
>Как раз sprintf, а точнее snprintf, и есть кошерная и православная функция,
>а *cvt были obsolete, а теперь вообще убраны из стандарта.Да и ради бога, я на С не пишу и вообще программистом себя давно уже не считаю. :-)
В моем сообщении всего лишь приведен пример того, как можно найти
нужную информацию даже без доступа к интернету.