Как преобразовать целое число в строку портативно?

Я искал способ преобразовать целое число в строку портативным способом (портативный, по крайней мере, среди Windows & Linux и x86 и x86_64) и я хотя itoa(X) быть стандартным точно так же, как atoi(1).

Но я считал следующее в статье в Википедии:

Функция itoa является широко распространенным нестандартным расширением стандарта C язык программирования. Это не может портативно использоваться, поскольку это не определяется ни в одном из стандартов языка C; однако, компиляторы часто обеспечивают его через заголовок, в то время как в несоответствующем режиме, потому что это - логический дубликат к стандартной библиотечной функции atoi.

Таким образом, я хотел бы знать, существует ли какой-либо способ сделать это портативным способом или нет. В случае, если я должен записать свою собственную функцию, с какими вещами я должен быть осторожным?

6
задан Dimitri Spirtovic 9 February 2010 в 00:12
поделиться

2 ответа

Чаще всего вы просто используете printf ("% d");

http://en.wikipedia.org/wiki/Printf

Вы можете использовать sprintf, если он вам нужен в буфере, но как часто вы конвертируете в строку, а не записываете ее в файл или на устройство вывода ?

1
ответ дан 17 December 2019 в 22:12
поделиться

Если вы делаете это не очень часто, как насчет библиотечной процедуры, которая записывает несколько чисел в память, анализирует результаты и сохраняет тип кодировки? После этого вы просто включаете свой "тип кодировки", чтобы выбрать, какую процедуру преобразования использовать.

0
ответ дан 17 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: