The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Философский вопрос"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Философский вопрос"
Сообщение от boykov emailИскать по авторуВ закладки on 02-Июл-02, 19:19  (MSK)
Добрый день.

Не знает ли кто из программистов, каков тайный смысл отсутствия itoa() в unix С/С++?

Как бы это вряд ли проблема кодировок. Тогда в чем причина?

С уважением.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Философский вопрос"
Сообщение от Soldier Искать по авторуВ закладки on 03-Июл-02, 07:22  (MSK)
>Добрый день.
>
>Не знает ли кто из программистов, каков тайный смысл отсутствия itoa() в
>unix С/С++?
>
>Как бы это вряд ли проблема кодировок. Тогда в чем причина?
>
>С уважением.

Видимо решили, что sprintf/snprintf достаточно :))).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Философский вопрос"
Сообщение от boykov emailИскать по авторуВ закладки on 03-Июл-02, 08:15  (MSK)
>
>Видимо решили, что sprintf/snprintf достаточно :))).

Ага. А что они юзают при конверсии? itoa_hidden() ?

:)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Философский вопрос"
Сообщение от Арлекин emailИскать по авторуВ закладки on 03-Июл-02, 08:24  (MSK)
Я вот тебе как на духу скажу: за почти 12 лет я НИ РАЗУ не имел необходимости эту фичу (itoa()) юзать. Ну ...ля буду ! :)
Более того - я понятия не имею что такое делает itoa_hidden(), но уверен что найду по меньшей мере три способа как ЭТО можно сделать без него.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Философский вопрос"
Сообщение от boykov emailИскать по авторуВ закладки on 03-Июл-02, 08:40  (MSK)
>Я вот тебе как на духу скажу: за почти 12 лет я
>НИ РАЗУ не имел необходимости эту фичу (itoa()) юзать. Ну ...ля
>буду ! :)
А у меня -- тяжелое наследие Борланда :)

>Более того - я понятия не имею что такое делает itoa_hidden(),
Это хохма. Типа "спрятанная itoa()". Ну не могу я поверить, что в функции  преобразования стоит
s[i]=(char)(n-0x30)
потому как это не совсем правильно...

>но
>уверен что найду по меньшей мере три способа как ЭТО можно
>сделать без него.
они будут более или менее естественны, чем юзать обратное к atoi() преобразование?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Философский вопрос"
Сообщение от Soldier Искать по авторуВ закладки on 03-Июл-02, 09:44  (MSK)
>>
>>Видимо решили, что sprintf/snprintf достаточно :))).
>
>Ага. А что они юзают при конверсии? itoa_hidden() ?
>
>:)

Да видимо решили, что для нормальных людей 8,10 и 16 ричной системы достаточно, а извращенцы (типу кому 20 или 30 ричные подавай) пусть сами выкручиваются :))) А вообще целые числа преобразовать в любую систему исчисления - это как два байта переслать ;-)
А в БОРМОНДЕ, как минимум до 5 версии, snprintf нет. Тоже что ли пофилософствовать? :)))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: Философский вопрос"
Сообщение от boykov emailИскать по авторуВ закладки on 03-Июл-02, 12:51  (MSK)
>Да видимо решили, что для нормальных людей 8,10 и 16 ричной системы
>достаточно, а извращенцы (типу кому 20 или 30 ричные подавай) пусть
>сами выкручиваются :))) А вообще целые числа преобразовать в любую систему
>исчисления - это как два байта переслать ;-)
Я в курсе.

>А в БОРМОНДЕ, как минимум до 5 версии, snprintf нет. Тоже что
>ли пофилософствовать? :)))
Честно говоря -- не знал. Там я юзал strstream...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: Философский вопрос"
Сообщение от Vader Искать по авторуВ закладки on 03-Июл-02, 19:34  (MSK)
>Добрый день.
>
>Не знает ли кто из программистов, каков тайный смысл отсутствия itoa() в
>unix С/С++?
>
>Как бы это вряд ли проблема кодировок. Тогда в чем причина?
>
>С уважением.

Эти функции (itoa, ltoa, ftoa, ...) не описаны стандартами ANSI/ISO/IEC 9899 (C) и 14882 (C++). Если же они где-то и реализованы, то только по собственной инициативе компилер- и либ-девелоперов. Их использование не рекомендуется (для переносимости). В C следует юзать sprintf (быть может есть и другие альтернативы), в C++ - поток ostringstream.
Вот только почему их нет в стандартах, я не знаю.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: Философский вопрос"
Сообщение от boykov emailИскать по авторуВ закладки on 04-Июл-02, 00:08  (MSK)
>Вот только почему их нет в стандартах, я не знаю.
Тут он и начинается -- философский вопрос :)

Вопрос не в том, кому что удобно и/или как это сделать/надо делать, а в том, почему этого нет в стандарте. Если учесть, что стандарты продуманы совсем не плохо -- то должна быть на это причина.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: Философский вопрос"
Сообщение от Soldier Искать по авторуВ закладки on 05-Июл-02, 13:49  (MSK)
>>Вот только почему их нет в стандартах, я не знаю.
>Тут он и начинается -- философский вопрос :)
>
>Вопрос не в том, кому что удобно и/или как это сделать/надо делать,
>а в том, почему этого нет в стандарте. Если учесть, что
>стандарты продуманы совсем не плохо -- то должна быть на это
>причина.


Ну вот вы, например, часто используете какие нибудь системы исчисления, кроме 8,10 и 16 ричной? (sprintf это преобразовывает без проблем) Мне например только двоичная как то понадобилась. А как числа представлять? В 16 ричной A-F - в 17 ричной ... A-G ? :))) А в 300 ричной??!!! (itoa до 36 кажется) - буковок то явно не хватит, разве что из китайского алфавита заимствовать;-))). Пойдет в качестве одной из причин невключения в стандарт?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "RE: Философский вопрос"
Сообщение от boykov emailИскать по авторуВ закладки on 06-Июл-02, 15:02  (MSK)
>Ну вот вы, например, часто используете какие нибудь системы исчисления, кроме 8,10
>и 16 ричной? (sprintf это преобразовывает без проблем) Мне например только
>двоичная как то понадобилась.
Писал как-то программульку, в которой очень полезной оказалась четверичная система.

>А как числа представлять? В 16 ричной
>A-F - в 17 ричной ... A-G ? :))) А в
>300 ричной??!!! (itoa до 36 кажется) - буковок то явно не
>хватит, разве что из китайского алфавита заимствовать;-))).
На самом деле была бы потребность -- алфавит будет. (Было бы алиби, а труп найдется :)

>Пойдет в качестве одной
>из причин невключения в стандарт?
В качестве одной -- может быть. Но вот в чем вопрос: если функция явно обратимая, то почему обратная к ней не включена в стандарт.

Вот есть логарифм. Экспоненциальная функция от него не отрывается никогда. Здесь же -- аналогичная ситуация, а из пары взаимнообратных функций реализована только одна.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "RE: Философский вопрос"
Сообщение от Soldier Искать по авторуВ закладки on 06-Июл-02, 22:24  (MSK)
>На самом деле была бы потребность -- алфавит будет. (Было бы алиби,
>а труп найдется :)

Ну вообще множество целых чисел бесконечно как будто бы (хотя и счетно),
так что не получится

>>Пойдет в качестве одной
>>из причин невключения в стандарт?
>В качестве одной -- может быть. Но вот в чем вопрос: если
>функция явно обратимая, то почему обратная к ней не включена в
>стандарт.
Обратная была бы atoi(char *str,int radix) - а такой функции нет - получается, что БОРМОНД отошел от стандарта - ну а itoa(int num,char *buf) легко заменяется через sprintf.

>Вот есть логарифм. Экспоненциальная функция от него не отрывается никогда. Здесь же
>-- аналогичная ситуация, а из пары взаимнообратных функций реализована только одна.

Так что ситуация несколько иная.;-)))


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру